求助!关注为回报
查看原帖
求助!关注为回报
547602
天下为公楼主2021/10/12 22:50
#include<bits/stdc++.h>
using namespace std;
long long q,w,a[100000005],b,ans=0;
int main()
{
    cin>>q>>w;
	for(int i=1;i<=q;i++) cin>>a[i];
	sort(a+1,a+q+1);
	for(int i=1;i<=w;i++){
		cin>>b;
		int left=1,right=q;
		while(left<right){
			int mid=(left+right)/2;
			if(a[mid]>=b){
				right=mid;
			}
			else{
				left=mid+1;
			}
		if(left==1) ans+=abs(b-a[1]);
		else ans+=min(abs(b-a[left-1]),abs(b-a[left]));
	}  
}
	cout<<ans;
	return 0;
}
2021/10/12 22:50
加载中...