제출 #707078

#제출 시각아이디문제언어결과실행 시간메모리
707078TAhmed33Cipele (COCI18_cipele)C++98
90 / 90
127 ms3648 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n, m; int arr[100001] = {}; int arr2[100001] = {}; bool check (int x) { int pos = 1; for (int i = 1; i <= n; i++) { int q = lower_bound(arr2 + pos, arr2 + m + 1, arr[i] - x) - arr2; if (q == m + 1) return false; if (abs(arr2[q] - arr[i]) > x) return false; pos = q + 1; } return true; } signed main () { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> arr[i]; } for (int j = 1; j <= m; j++) { cin >> arr2[j]; } sort(arr + 1, arr + n + 1); sort(arr2 + 1, arr2 + m + 1); if (n > m) { swap(n, m); for (int i = 1; i <= 100000; i++) swap(arr[i], arr2[i]); } int l = 0, r = 1e9; int mid, ans = 2; while (l <= r) { mid = (l + r) >> 1; if (check(mid)) { r = mid - 1; ans = mid; } else { l = mid + 1; } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...