想问一下写的有什么问题,0分
查看原帖
想问一下写的有什么问题,0分
1076502
sicklove楼主2025/7/22 09:54
#include <bits/stdc++.h>
using namespace std;
long long m,n,a[1000],b[1000];
long long check(int score)
{
	long long left=1,right=m,ans=0x3f3f3f;
	while(left<=right)
	{
		int mid=(left+right)/2;
		if(a[mid]>=score)
			right=mid-1;
		else left=mid+1;
		ans=min(ans,abs(score-a[mid]));
	}
	return ans;
}
int main()
{
	long long ans=0;
	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,a+n+1);
	for(int i=1;i<=n;i++)
		ans+=check(b[i]);
	cout<<ans;
	return 0;
}
2025/7/22 09:54
加载中...