WHY*3
查看原帖
WHY*3
1305780
Tommy0429楼主2025/6/27 20:45
#include <bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
	int m,n;
	long long sum=0;
	cin>>m>>n;
	for(int i=0;i<m;i++){
		cin>>a[i];
	}
	sort(a,a+m);
	while(n--){
		int x;
		cin>>x;
		int l=0,r=m-1,mid,ans=1e9;
		while(l<=r){
			mid=(l+r)/2;
			if(a[mid]==x){
				ans=0;
				break;
			}else if(a[mid]>x){
				ans=min(ans,fabs(a[mid]-x));
				r=mid-1;
			}else{
				ans=min(ans,fabs(a[mid]-x));
				l=mid+1;
			}
		}
		sum+=ans;
	}
	cout<<sum;
	return 0;
}
2025/6/27 20:45
加载中...