lower_bound 3,8,10WA 求助
查看原帖
lower_bound 3,8,10WA 求助
540396
玄铮楼主2022/8/11 13:13
蒟蒻疑惑
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int m, n, a[100010], b[100010];
long long cnt;

int main() {
	scanf("%d%d", &m, &n);
	for (int i = 1; i <= m; i++)
		scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++)
		scanf("%d", &b[i]);

	sort(a + 1, a + m + 1);
	for (int i = 1; i <= n; i++) {
		if (b[i] > a[m]) {//这里我觉得不加也可以
			int sad = b[i] - a[m];
			cnt += sad;
		} else {
			int k = lower_bound(a + 1, a + m + 1, b[i]) - a;
			int j = k - 1;
			int sad = min(abs(a[k] - b[i]), abs(a[j] - b[i]));
			cnt += sad;
		}
	}

	printf("%d", cnt);

	return 0;
}
2022/8/11 13:13
加载中...