Submission #146599

#TimeUsernameProblemLanguageResultExecution timeMemory
146599MathStudent2002Rice Hub (IOI11_ricehub)C++14
100 / 100
20 ms3452 KiB
#include "ricehub.h" //#include "grader.cpp" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXR = 100005; const ll INFTY = 1000000000000000007; ll Rval; ll loc[MAXR]; ll psum[MAXR]; void init() { psum[0] = 0; for(int i = 1; i <= Rval; i++) {psum[i] = psum[i-1] + loc[i];} } ll quer(int l, int r) { return psum[r] - psum[l-1]; } ll mincost(int P) { // minimum cost of P paddies ll ans = INFTY; for(int i = 0; i+P <= Rval; i++) {//checking i+1...i+P ans = min(ans, quer(i+1+P-P/2, i+P) - quer(i+1, i+P/2)); } return ans; } int besthub(int R, int L, int X[], long long B) { Rval = R; for(int i = 0; i < R; i++) {loc[i+1] = X[i];} init(); int lo = 1, hi = R; int mi; while(lo != hi) { mi = (lo+hi+1)/2; if(mincost(mi) <= B) {lo = mi;} else {hi = mi-1;} } return lo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...