1899. 最满意的方案
代码
#include<bits/stdc++.h>
using namespace std;
int a[100100];
int main()
{
int x,m,n,s=0,i,l,r,mid;
cin>>m>>n;
for(i=1;i<=m;i++)
cin>>a[i];
sort(a+1,a+m+1);
for(i=1;i<=n;i++)
{
cin>>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)/2;
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;
}