社区讨论

70分,有没有大佬帮忙调一下

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mhjd83id
此快照首次捕获于
2025/11/04 00:39
4 个月前
此快照最后确认于
2025/11/04 00:39
4 个月前
查看原帖
CPP
#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int n, m, q[N],k[N],sum;

int search(int x)
{
	int l = 0, r = n + 1;
	while (l + 1 < r)
	{
		int mid = l + r >> 1;
		if (q[mid] < x)
			l = mid;
		else
			r = mid;
	}
	return abs(q[l] - x) <  abs(q[r] - x) ?abs(q[l] - x) : abs(q[r] - x);
}

signed main() 
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
		cin >> q[i];
	for (int i = 1; i <= m; i++)
		cin >> k[i];
	sort(q + 1, q + n + 1);
	for (int i = 1; i <= m; i++)
	{
		int l = search(k[i]);
		sum += l;
	}
	cout << sum;
	return 0;
}

回复

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

正在加载回复...