# pay## 题目描述今天是 L 公司发工资的一天。$n$ 名员工排成一排准备领工资编号为 $1sim n$第 $i$ 名员工有一个期望快乐值 $a_i$。老板非常扣在这 $n$ 名员工中只选择了 $m$ 名员工 $b_1b_2cdotsb_m$ 发 $k$ 元工资。员工们都非常具有同理心不仅自己获得工资时会增加快乐值当周围的员工获得工资时自己也会增加快乐值。具体地当与一名员工 A 距离为 $d
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<int> b(m);
for (int i = 0; i < m; i++) {
cin >> b[i];
}
sort(b.begin(), b.end());
int left = 0, right = 1e9;
int ans = right;
while (left <= right) {
int mid = (left + right) / 2;
int cnt = 0;
for (int i = 0; i < m; i++) {
int idx = lower_bound(b.begin(), b.end(), b[i] - mid) - b.begin();
cnt += i - idx + 1;
}
if (cnt >= n) {
ans = min(ans, mid);
right = mid - 1;
} else {
left = mid + 1;
}
}
cout << ans << endl;
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iBBH 著作权归作者所有。请勿转载和采集!