Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
343335 | 丁煜宸 | 【C6-8】最满意的方案 | C++ | 通过 | 100 | 89 MS | 1036 KB | 526 | 2025-08-27 17:10:25 |
#include<bits/stdc++.h> using namespace std; long long n,m,a[1000050],q,l,r,x,mid,s=0; int main(){ scanf("%d %d",&m,&n); for(int i=1;i<=m;i++){ scanf("%d",&a[i]); } sort(a+1,a+m+1); for(int i=1;i<=n;i++){ scanf("%d",&x); if(x<=a[1]) s=s+a[1]-x; else if(x>=a[m]) s=s+x-a[m]; else{ l=1; r=m; while(l<=r){ mid=l+r>>1; if(x<=a[mid]){ r=mid-1; } else{ l=mid+1; } } s=s+min(a[l]-x,x-a[l-1]); } } cout<<s; return 0; }