#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000005]={0},sum=0;
void er(int x){
int lt=0,rt=m+1;
while(lt+1<rt){
int mid=(rt+lt)/2;
if(a[mid]>x){
rt=mid;
}else{
lt=mid;
}
}
sum+=min(abs(a[lt]-x),abs(a[rt]-x));
return ;
}
int main(){
cin >> m >> n;
for(int i=1;i<=m;i++){
cin >> a[i];
}
a[0]=-1000000000;
sort(a,a+1+n);
for(int i=1;i<=n;i++){
int x;
cin >> x;
er(x);
}
cout << sum;
return 0;
}
脑子都耗费了 不知怎么才好 不知那错了?? 求大佬指点