Submission #147039

#TimeUsernameProblemLanguageResultExecution timeMemory
147039albino_ojuzCipele (COCI18_cipele)C++14
27 / 90
184 ms2044 KiB
#include <bits/stdc++.h> using namespace std; const long long N = 1e5+5; long long n,m; long long niz1[N],niz2[N]; long long maks,mini = 1e9+7; int main () { cin >> n >> m; for (long long i = 0;i < n;i++) { cin >> niz1[i]; if (niz1[i] > maks) { maks = niz1[i]; } if (niz1[i] < mini) { mini = niz1[i]; } } for (long long i = 0;i < m;i++) { cin >> niz2[i]; if (niz2[i] > maks) { maks = niz2[i]; } if (niz2[i] < mini) { mini = niz2[i]; } } sort(niz1,niz1 + n); sort(niz2,niz2 + m); if (n > m) { for (long long i = 0;i < n;i++) { swap(niz1[i],niz2[i]); } swap(n,m); } // prvi je manji prvi je manji prvi je manji prvi je manji long long cnt = 0; long long lo = 0, hi = maks; while (lo != hi) { cnt++; if (cnt > 1000) { break; } long long zas = 0; long long mid = (lo + hi) / 2; long long plusic = 0; for (long long i = 0;i < n;i++) { while(abs(niz1[i] - niz2[i + plusic]) > mid) { plusic++; if (i + plusic >= n) { zas = 1; break; } } if (zas == 1) { break; } } for (long long i = 0; i < n - plusic; i++) { if (abs(niz1[i] - niz2[i + plusic]) > mid) { zas = 1; break; } } if (zas == 0) { hi = mid; } else { lo = mid + 1; } } cout << lo <<endl; return 0; }
#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...