ewew
  • 板块工单反馈版
  • 楼主luyunqing
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/12/29 15:08
  • 上次更新2024/12/29 19:28:55
查看原帖
ewew
1512687
luyunqing楼主2024/12/29 15:08
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    vector<int> a(n);  // 存储猫窝位置
    vector<int> b(m);  // 存储供暖器位置
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    for (int i = 0; i < m; ++i) {
        cin >> b[i];
    }

    // 对猫窝位置排序
    sort(a.begin(), a.end());
    // 对供暖器位置排序
    sort(b.begin(), b.end());

    int j = 0;  // 指向供暖器的指针
    int radius = 0;  // 记录最小加热半径
    for (int i = 0; i < n; ++i) {
        // 找到能覆盖当前猫窝的最近供暖器
        while (j < m - 1 && abs(b[j + 1] - a[i]) <= abs(b[j] - a[i])) {
            j++;
        }
        radius = max(radius, abs(b[j] - a[i]));
    }

    cout << radius << endl;
    return 0;
}
2024/12/29 15:08
加载中...