Submission #1135451

#TimeUsernameProblemLanguageResultExecution timeMemory
1135451MunkhturErdenebatWatching (JOI13_watching)C++20
0 / 100
1 ms580 KiB
#include<bits/stdc++.h> #include<string.h> #include <algorithm> #include <stdlib.h> #define ll long long using namespace std; ll k[2001006],a,b,c,d,e,f,m,i,j,n,h,g,l,r,ka,p,q[200005]; map<ll,ll> maa,mii,mee; vector<ll> vas[25],vis,vii; pair<ll,ll> jun,t[200005]; string x; int main(){ cin>>a>>b>>c; for(i=0 ; i<a ; i++){ cin>>k[i]; } sort(k,k+a); if(b+c>=a){ cout<<1; return 0; } for(i=0 ; i<a-1 ; i++){ t[i].first=k[i+1]-k[i]; t[i].second=k[i]; } sort(t,t+a-1); for(i=a-b-c ; i<a-1 ; i++){ maa[t[i].second]=1; } l=k[0]; h=0; for(i=0 ; i<a ; i++){ if(maa[k[i]]==1 || i==a-1){ if(k[i]==k[i-1]){ l=k[i+1]; continue; } q[h]=k[i]-l+1; h++; l=k[i+1]; } } sort(q,q+h); l=1; ka=h; r=1000000000; while(l<r){ h=0; g=0; m=(l+r-1)/2; for(i=0 ; i<ka ; i++){ h+=q[i]/(2*m); if(q[i]%(2*m)>m){ h++; } else{ if(q[i]%(2*m)!=0){ g++; } } } if(h>c){ g+=(h-c)*2; h=c; } if(h<c){ g-=(c-h); h=c; } if(h<=c && g<=b){ r=m; } else{ l=m+1; } } cout<<l<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...