社区讨论
跪求大佬看看wa了最后的新增数据
P1678烦恼的高考志愿参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo9nqwvs
- 此快照首次捕获于
- 2023/10/28 14:25 2 年前
- 此快照最后确认于
- 2023/11/02 11:05 2 年前
CPP
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e6 + 10;
int a[N], b[N];
int n, m, ans=0;
int find(int x)
{
int l = 1, r = n;
while (l < r)
{
int mid = r + l >> 1;
if (a[mid] == x)
{
return mid;
}
if (a[mid] >= x)
r = mid;
else
l = mid+1;
}
return l;
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
sort(a + 1, a + 1 + n);
for (int i = 1; i <= m; i++)
{
cin >> b[i];
if (b[i] > a[n]) ans += b[i] - a[n];
else if (b[i] < a[1]) ans += a[1] - b[i];
else
{
int e = find(b[i]);
ans += min(abs(a[e] - b[i]), abs(b[i] - a[e - 1]));
}
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...