제출 #598957

#제출 시각아이디문제언어결과실행 시간메모리
598957SummersRice Hub (IOI11_ricehub)C++14
100 / 100
13 ms1500 KiB
#include "ricehub.h" #include<iostream> using namespace std; long long pref[1000000]; int besthub(int R, int L, int X[], long long B) { long long i, ans=0, le, ri, mid; for(i=0;i<R;i++) { if(i!=0) pref[i]=pref[i-1]+X[i]; else pref[i]=X[i]; } le=0; ri=0; while(ri<R) { mid=(le+ri)/2; long long ledist= 0, ridist = pref[ri]-pref[mid]; if(le>=1 && mid>=1)ledist = pref[mid-1]-pref[le-1]; else if(mid>=1)ledist=pref[mid-1]; long long sum=((mid-le)*X[mid]-ledist)+(ridist-(ri-mid)*(X[mid])); if(sum<=B) { ans=max(ans, ri-le+1); ri++; } else { le++; ri++; } } 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...