acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • xxx

    #include <bits/stdc++.h> using namespace std; bool check(vector<int>& a, vector<int>& b, int mid) { int cnt = 0; int i = 0, j = 0; while (i < a.size() && j < b.size()) { if (abs(a[i] - b[j]) <= mid) { cnt++; i++; j++; } else if (a[i] < b[j]) i++; else j++; } return cnt == min(a.size(), b.size()); } int main() { int n, m; cin >> n >> m; vector<int> a(n), 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 left = 0, right = max(a.back(), b.back()) - min(a[0], b[0]); while (left < right) { int mid = left + (right - left) / 2; if (check(a, b, mid)) right = mid; else left = mid + 1; } cout << left; return 0; }

    userId_undefined

    随便打打

    倔强青铜
    4阅读
    0回复
    0点赞
  • 比赛通过

    userId_undefined

    芜氪·白狼连队

    倔强青铜
    2阅读
    0回复
    0点赞
首页