Submission #306420

#TimeUsernameProblemLanguageResultExecution timeMemory
306420colazcyCipele (COCI18_cipele)C++17
90 / 90
44 ms1272 KiB
#include <cstdio> #include <cctype> #include <vector> #include <algorithm> using namespace std; const int maxn = 1e5 + 100; inline int read(){ int x = 0;char c = getchar(); while(!isdigit(c))c = getchar(); while(isdigit(c))x = x * 10 + c - '0',c = getchar(); return x; } int va[maxn],vb[maxn]; inline bool check(int limit){ int pos = 1; for(int i = 1;i <= vb[0];i++){ while(pos <= va[0] && abs(va[pos] - vb[i]) > limit)pos++; if(pos == va[0] + 1)return false; pos++; } return true; } int main(){ va[0] = read(),vb[0] = read(); for(int i = 1;i <= va[0];i++)va[i] = read(); for(int i = 1;i <= vb[0];i++)vb[i] = read(); if(va[0] < vb[0])swap(va,vb); sort(va + 1,va + 1 + va[0]); sort(vb + 1,vb + 1 + vb[0]); int l = 0,r = max(abs(va[1] - vb[vb[0]]),abs(vb[1] - va[va[0]])),ans = -1; while(l <= r){ int mid = (l + r) >> 1; if(check(mid))ans = mid,r = mid - 1; else l = mid + 1; } printf("%d\n",ans); 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...