Submission #64679

#TimeUsernameProblemLanguageResultExecution timeMemory
64679Abelyan쌀 창고 (IOI11_ricehub)C++17
100 / 100
38 ms4312 KiB
#include "ricehub.h" #include <bits/stdc++.h> typedef long long ll; const int N=100050; ll sum[N]; int x[N]; ll sm(int l, int r){ return sum[r]-sum[l-1]; } int besthub(int n, int sz, int D[], ll b) { int i; for(i=1;i<=n;i++){ x[i]=D[i-1]; sum[i]=sum[i-1]+x[i]; } int r=n,l=1,mid,ans=1; while(r>=l) { mid=(l+r)/2; bool ok=0; for(i=mid;i<=n;i++) { int L=i-mid+1; int R=i; int M=(L+R)/2; ll cost=(ll)(M-L+1)*x[M]-sm(L,M); cost+=sm(M,R)-(ll)(R-M+1)*x[M]; if(cost<=b){ ok=1;break;} } if(ok) ans=mid,l=mid+1; else r=mid-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...