제출 #481437

#제출 시각아이디문제언어결과실행 시간메모리
481437Mihai_Eduard쌀 창고 (IOI11_ricehub)C++14
100 / 100
15 ms2380 KiB
bool verify(long long sum[], int r, int l, int x[], long long b, int nr) { int st, dr, mij; long long total; for(int i=1;i<=r-nr+1;i++) { st=i; dr=i+nr-1; mij=(st+dr)/2; total=0; total=total+x[mij-1]*(mij-st); total=total-(sum[mij-1]-sum[st-1]); total=total+(sum[dr]-sum[mij]); total=total-x[mij-1]*(dr-mij); if(total<=b) return true; } return false; } int besthub(int r, int l, int x[], long long b) { long long sum[100005]={}; sum[0]=0; for(int i=1;i<=r;i++) sum[i]=sum[i-1]+x[i-1]; int st=1, dr=r+1, mij; while(dr-st>1) { mij=(st+dr)/2; if(verify(sum,r,l,x,b,mij)) st=mij; else dr=mij; } return st; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...