Submission #819389

#TimeUsernameProblemLanguageResultExecution timeMemory
819389vjudge1Cipele (COCI18_cipele)C++17
18 / 90
151 ms14340 KiB
#include<bits/stdc++.h> #include<math.h> #define _USE_MATH_DEFINES using namespace std; /**struct node { long long idx; long long dis; node(){} node(long long _idx,long long _dis) { idx=_idx; dis=_dis; } bool operator<(const node &tmp)const{ return dis>tmp.dis; } };**/ const long long maxn=1e5+10; const long long mod=1e9+7; int main() { long long n,m; cin>>n>>m; vector<long long>L; vector<long long>R; map<long long,long long>pl; map<long long,long long>pr; for(long long i=0;i<n;i++) { long long x; cin>>x; L.push_back(x); pl[L[i]]++; } for(long long j=0;j<m;j++) { long long x; cin>>x; R.push_back(x); pr[R[j]]++; } sort(L.begin(),L.end()); sort(R.begin(),R.end()); if(n==m) { long long mx=0; for(long long i=0;i<n;i++) { mx=max(mx, abs(L[i]-R[i])); } cout<<mx<<endl; } else { if(n>m) { swap(n,m); swap(L,R); swap(pl,pr); } long long ans=0; long long j=-1; for(long long i=0;i<n;i++) { long long raz=1e15; while(j+1<m-(n-i-1) && abs(L[i]-R[j+1])<=raz) { raz=abs(L[i]-R[j+1]); j++; if(raz==0 && pl[L[i]]>1) { pl[L[i]]--; break; } } ans=max(ans, raz); } cout<<ans<<endl; } return 0; } /*5 5 7 6 1 2 10 9 11 6 3 12 */
#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...