求助求助,help
查看原帖
求助求助,help
867637
Liu_xy楼主2024/1/19 13:43
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<deque>
#include<numeric>
#include<cmath>
#define _for(i,a,b) for(int i=(a);i<(b);i++)
#define _rep(i,a,b) for(int i=(a);i<=(b);i++)
#define int long long 
using namespace std;
const int N = 100010;
int a[N], b[N], n, m, res;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	cin >> n >> m;
	_for(i, 0, n) cin >> a[i];
	sort(a, a + n);
	_for(i, 0, m) {
		cin >> b[i];
		int s = 0;
		int l = 0, r = n - 1;
		while (l < r)
		{
			int mid = l + r >> 1;
			if (a[mid] >= b[i]) r = mid;
			else l = mid + 1;
		}
			res += min(abs(a[l] - b[i]), min(abs(a[l + 1] - b[i]), abs(a[l - 1] - b[i])));
	}
	cout << res;
	return 0;
}

为什么只能得七十分啊

2024/1/19 13:43
加载中...