Submission #5972

#TimeUsernameProblemLanguageResultExecution timeMemory
5972baneling100Rice Hub (IOI11_ricehub)C++98
100 / 100
28 ms4992 KiB
#include "ricehub.h" #include <stdlib.h> int besthub(int R, int L, int X[], long long B) { int i, j, left=1, mid, right=R, x, ok, ans; long long hab; while(left<=right) { mid=(left+right)/2; x=(mid-1)/2; hab=ok=0; for(i=0 ; i<mid ; i++) hab+=abs((long long)X[x]-(long long)X[i]); if(hab<=B) ok=1; for(i=1 ; i<=R-mid ; i++) { j=i+mid-1; if(mid%2) hab-=(long long)X[x++]-(long long)X[i-1]; else hab-=(long long)X[++x]-(long long)X[i-1]; hab+=(long long)X[j]-(long long)X[x]; if(hab<=B) ok=1; } if(ok) { left=mid+1; ans=mid; } else right=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...