社区讨论
70pts求调
P1678烦恼的高考志愿参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lp16npe9
- 此快照首次捕获于
- 2023/11/16 20:44 2 年前
- 此快照最后确认于
- 2023/11/16 21:50 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int n, m;
LL czx[N];
LL gu[N];
LL ans;
int main()
{
cin >> m >> n;
for (int i = 1; i <= m; i++)
cin >> czx[i];
sort(czx + 1, czx + 1 + m);
for (int i = 1; i <= n; i++)
cin >> gu[i];
for (int i = 1; i <= n; i++)
{
LL minn = 0x3f3f3f3f;
int r = lower_bound(czx + 1, czx + m + 1, gu[i]) - czx;//查找第一个大于等于当前分数的值
minn = min(minn, abs(czx[r] - gu[i]));
minn = min(minn, abs(czx[r - 1] - gu[i]));//再找第一个小于当前分数的值 两者取最小
ans += minn;
}
cout << ans << endl;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...