求调 0分 样例没过
查看原帖
求调 0分 样例没过
1277657
Yaoshui_lv楼主2024/7/25 08:40
#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main() {
    int n, m;
	cin >> n >> m;
	int a[m+1], b[n+1];
	for (int i = 1; i <= m; i++) cin >> a[i];
	for (int i = 1; i <= n; i++) cin >> b[i];
	sort(a+1, a+n+1);
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		int l = 0, r = m + 1;
		while (l < r) {
			int mid = (l+r)/2;
			if (a[mid] <= b[i]) l = mid+1;
			else r = mid;
		}
		if (b[i] <= a[1]) ans += a[1]-b[i];
		else ans += min(abs(a[l-1] - b[i]), abs(a[l] - b[i]));
	}
	cout << ans << endl;
    return 0;
}
2024/7/25 08:40
加载中...