Submission #520492

#TimeUsernameProblemLanguageResultExecution timeMemory
520492krit3379Rice Hub (IOI11_ricehub)C++17
100 / 100
18 ms2512 KiB
#include<bits/stdc++.h> using namespace std; long long qs[100005],l,r,mid,new_mid,new_val,ans; int besthub(int n, int m, int x[100005], long long b){ int i; for(i=n;i>0;i--)x[i]=x[i-1]; x[0]=0; for(i=1;i<=n;i++)qs[i]=qs[i-1]+x[i]; l=1,r=1,mid=1; for(l=1;l<=n;l++){ while(1){ if(r==n)break; new_mid=(l+r+1)/2; new_val=x[new_mid]*(new_mid-l)-qs[new_mid-1]+qs[l-1]+qs[r+1]-qs[new_mid]-x[new_mid]*(r+1-new_mid); if(new_val<=b)mid=new_mid,r++; else break; } ans=max(ans,r-l+1); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...