只对了10分
10代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+10;
int arr[N];
int search(int l,int r,int x){
int ans=r;
while(l<=r){
int mid=(l+r)/2;
if(x>arr[mid]){
l=mid+1;
}else{
r=mid-1;
ans=mid;
}
}
return ans;
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>arr[i];
}
sort(arr+1,arr+1+m);
arr[0]=-1e9;
int num;
long long sum = 0;
while (n--){
cin>>num;
if(num>arr[m]){
sum+=num-arr[m];
continue;
}
int k=search(1,m,num);
sum+=min(arr[k]-num,num-arr[k-1]);
}
cout<<sum;
return 0;
}