这是我写的:
#include <cstdio>
#include <algorithm>
using namespace std;
long long m,n,a[100001],b[100001],sum,ll=1;
int main()
{
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
scanf("%d",&b[i]);
sort(a+1,a+n+1);
sort(b+1,b+n+1);
for(int i=1;i<=n;i++)
{
if(b[i]<=a[ll])
sum+=(a[ll]-b[i]);
else if(b[i]>=a[m])
sum+=(b[i]-a[m]);
else
{
int l=ll,r=m,mid;
while(l<=r)
{
mid=(l+r)/2;
if(a[mid]<b[i])
l=mid+1;
else
r=mid-1;
}
sum+=min(b[i]-a[l-1],a[l]-b[i]);
ll=l-1;
}
}
printf("%d",sum);
return 0;
}
请问哪里出问题了?