前前后后看了好多遍都不觉得有问题
#include<bits/stdc++.h>
using namespace std;
long long m,n,sum=0;
int main()
{
scanf("%lld%lld",&m,&n);
long long a1[m+2],b1[n+2];
for(long long i=1;i<=m;i++) scanf("%lld",&a1[i]);
for(long long i=1;i<=n;i++) scanf("%lld",&b1[i]);
sort(a1+1,a1+m+1); sort(b1+1,b1+n+1);
for(long long i=1;i<=n;i++)
{
long long p=lower_bound(a1+1,a1+m+1,b1[i])-a1;
sum=sum+min(abs(a1[p]-b1[i]),abs(b1[i]-a1[p-1]));
}
printf("%lld",sum);
return 0;
}