二分80pts
查看原帖
二分80pts
699471
yuxiaoyu20090104楼主2022/10/2 11:59
#include<cstdio>
#include<iostream>
#include <algorithm>
using namespace std;
int M, N;
long long ans;
int a[100005], b[100005];
int bin(int x)
{
	int l = 0, r = M;
	while (l + 1 < r)
	{
		int mid = (l + r) / 2;
		if (a[mid] >= x)
		{
			r = mid;
		}
		else
		{
			l = mid;
		}
	}
	if (x - a[r - 1] < a[r] - x && r > 1)
	{
		return x - a[r - 1];
	}
	return a[r] - x;
}
int main() {
	cin >> M >> N;
	for (int i = 1; i <= M; i++)
	{
		cin >> a[i];
	}
	sort(a + 1, a + M + 1);
	for (int i = 1; i <= N; i++)
	{
		cin >> b[i];
		ans += bin(b[i]);
	}
	cout << ans;
	return 0;
}
2022/10/2 11:59
加载中...