90分求助
查看原帖
90分求助
497332
利姆露·三上悟楼主2022/7/5 19:16
#include<bits/stdc++.h>
using namespace std;
int m,n,a[100000],b[100000],ans;
bool sb[1000000];
int jd(int x,int y)
{
	if(x>y)return x-y;
	else return y-x;
}
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	sort(a+1,a+1+m);
    for(int i=1;i<=n;i++)
    {
		int l=0,r=m;
		while(l<r)
		{
			int mid=(r+l)/2;	
			if(a[mid]<=b[i])l=mid+1;
			else r=mid;
		}
		if(b[i]<=a[1])ans+=a[1]-b[i];
		else 
		ans+=min(jd(a[l-1],b[i]),jd(a[l],b[i]));
	}	
	cout<<ans;
	return 0;
}

WA了,但不知错在那里QWQ

2022/7/5 19:16
加载中...