Submission #1192431

#TimeUsernameProblemLanguageResultExecution timeMemory
1192431prideliqueeeWatching (JOI13_watching)C++20
50 / 100
1093 ms584 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int a[2010]; int n,p,q; int b; void check(int i,int pp,int qq,int w) { if(b) return; if(i>=n) return; int val=a[i]; int d1=lower_bound(a,a+n,val+w)-a; int d2=lower_bound(a,a+n,val+w*2)-a; if(pp>0) { if(d1>=n) { b=1; return; } check(d1,pp-1,qq,w); } if(qq>0&&!(pp>0&&d1==d2)) { if(d2>=n) { b=1; return; } check(d2,pp,qq-1,w); } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>p>>q; memset(a,127,sizeof a); for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); int l=1,r=a[n-1]-a[0]+1; while(l<r) { int mid=(l+r)/2; b=0; check(0,p,q,mid); if(b) r=mid; else l=mid+1; } cout<<l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...