제출 #145292

#제출 시각아이디문제언어결과실행 시간메모리
145292FashoCipele (COCI18_cipele)C++14
90 / 90
54 ms3256 KiB
#include <bits/stdc++.h> #define N 1000005 #define ll long long int #define MP make_pair #define pb push_back #define ppb pop_back #define sp " " #define endl "\n" #define fi first #define se second #define ii pair<int,int> #define lli pair<ll,ll> #define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false) #define fast2 freopen ("kmp.in","r",stdin);freopen ("kmp.out","w",stdout); #define mod 1000000009 #define fs(x,y) for(int i=1;i<=y;i++) cin>>x[i] #define fo(i,x,y) for(int i=x;i<=y;i++) #define INF 1000000000005 using namespace std; ll n,m,ar[N],sum,b[N]; bool check(ll x) { ll l=1; for(int i=1;i<=n;i++) { while(fabs(ar[i]-b[l])>x && l<=m) l++; if(l>m || fabs(b[l]-ar[i])>x) return 0; l++; } return 1; } int main() { fast; cin>>n>>m; fs(ar,n); fs(b,m); sort(ar+1,ar+n+1); sort(b+1,b+m+1); if(m<n) { fo(i,1,n) swap(ar[i],b[i]); swap(n,m); } if(n==m) { fo(i,1,n) sum=max(sum,abs(ar[i]-b[i])); return cout<<sum,0; } ll l=0,r=max(ar[n],b[m])-min(ar[1],b[1]); while(l<r) { if(l==r-1) { if(check(l)) r=l; break; } ll mid=(l+r)/2; if(check(mid)) r=mid; else l=mid+1; } cout<<r<<endl; } /* cd onedrive\desktop\kod cls */
#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...