只过了#11,样例已过,玄关
查看原帖
只过了#11,样例已过,玄关
1390743
_mei_tou_nao_楼主2024/11/8 15:51
#include <bits/stdc++.h>
using namespace std;
const int N = 1e8 + 5;
long long n, m, a[N], b[N], mid, ans;

int main() {
	cin >> m >> n;
	for (int i = 1; i <= m; i++) {
		cin >> a[i];
	}
	for (int i = 1; i <= n; i++) {
		cin >> b[i];
	}
	sort(a + 1, a + m + 1);
	for (int j = 1; j <= n; j++) {
		long long l = 0, r = n + 1;
		while (l < r) {
			mid = (l + r) / 2;
			if (a[mid] <= b[j]) {
				l = mid + 1;
			} else {
				r = mid;
			}
		}
		ans += min(abs(a[l] - b[j]), abs(a[l - 1] - b[j]));
	}
	cout << ans;
	return 0;
}
2024/11/8 15:51
加载中...