提交时间:2026-05-02 15:34:13
运行 ID: 320018
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll N = 2e5 + 10; ll n, d, a[N], b[N]; int main() { ll ans = -1; cin >> n >> d; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i]; sort(a + 1, a + 1 + n); sort(b + 1, b + 1 + n); for (int i = 1; i <= n; i++) { ll j = upper_bound(b + 1, b + 1 + n, a[i] + d) - b; j--; if (j < 1 || j > n) continue; if (b[j] >= a[i] - d && b[j] <= a[i] + d) { ans = max(ans, a[i] + b[j]); } } if (ans == -1) cout << "None"; else cout << ans; return 0; }