20分求助
查看原帖
20分求助
1043606
chaqjs楼主2024/5/20 22:34
#include <bits/stdc++.h>
using namespace std;

int m,n;
long long ans;
int a[100005],b[100005];

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+n+1); 
	
	for (int i=1;i<=n;i++){
		int p=lower_bound(a+1,a+n+1,b[i])-a;
		if(p==n+1)
			ans+=b[i]-a[n];
		else if(p==1)
			ans+=a[1]-b[i];
		else 
			ans+=min(abs(a[p]-b[i]),abs(b[i]-a[p-1]));
	}
	
	cout<<ans;
	
	return 0;
}
2024/5/20 22:34
加载中...