提交时间:2026-04-20 20:23:45

运行 ID: 318192

#include <bits/stdc++.h> using namespace std; int main() { int n, m, mx = 0; cin >> n >> m; vector<int>a(n + 5), b(n + 5); for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 1; i <= n; i++) { cin >> b[i]; } sort(a.begin(),a.end()); sort(a.begin(),a.end()); for (int i = 1; i <= n; i++) { int l = a[i] - m; int r = a[i] + m; auto it_low = lower_bound(b.begin(), b.end(), l); auto it_up = upper_bound(b.begin(), b.end(), r); if (it_low != b.end() && it_low < it_up) { auto it_max = max_element(it_low, it_up); int sum = a[i] + *it_max; if (sum > mx) { mx = sum; } } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (abs(a[i] - b[j]) <= m && mx < a[i] + b[j]) { mx = a[i] + b[j]; } } } if(mx==0){ cout<<"None"; return 0; } cout << mx; return 0; }