Submission #116283

#TimeUsernameProblemLanguageResultExecution timeMemory
116283dragonslayeritRice Hub (IOI11_ricehub)C++14
100 / 100
18 ms2936 KiB
#include "ricehub.h"
#include <vector>

int besthub(int R, int L, int X[], long long B)
{
  std::vector<long long> prefix({0});
  for(int i=0;i<R;i++){
    prefix.push_back(prefix.back()+X[i]);
  }
  int best=0;
  int j=1;
  for(int i=1;i<=R;i++){
    while(true){
      int kl=(i+j)/2;
      int kr=(i+j+1)/2;
      long long cost=(prefix[i]-prefix[kr-1])-(prefix[kl]-prefix[j-1]);
      if(cost<=B) break;
      j++;
    }
    best=std::max(best,i-j+1);
  }
  return best;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...