社区讨论

50 pts 求助

P1678烦恼的高考志愿参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo7d9czj
此快照首次捕获于
2023/10/26 23:55
2 年前
此快照最后确认于
2023/10/26 23:55
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int m, n, a[100010], b[100010], res = 0;

int main()
{
	cin >> m >> n;
	for(int i=0; i<m; i++)
	{
		cin >> a[i];
	}
	for(int i=0; i<n; i++)
	{
		cin >> b[i];
	}
	sort(a + 0, a + m);
	for(int i=0; i<n; i++)
	{
		int l = 0, r = m - 1, ans = 1e6 + 10;
		while(l < r)
		{
			int mid = (l + r) / 2;
			if(a[mid] >= b[i]) ans = min(ans, abs(b[i] - a[mid])), r = mid;
			else l = mid + 1, ans = min(ans, abs(b[i] - a[mid]));
		}
		res += ans;
	}
	printf("%d", res);
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...