Submission #333655

#TimeUsernameProblemLanguageResultExecution timeMemory
333655blueRice Hub (IOI11_ricehub)C++17
100 / 100
20 ms1516 KiB
#include "ricehub.h" #include <vector> using namespace std; int besthub(int R, int L, int X[], long long B) //fields, max coordinate, i'th field, budget { vector<long long> F(R+2); F[0] = -(2e16 + 1); F[R+1] = (4e16 + 1); for(int i = 1; i <= R; i++) F[i] = X[i-1]; int l = 1; //leftmost field int m = 1; //hub int r = 1; //rightmost field long long c = 0; //current cost int res = 1; //running result while(1) { if(2*m < (l+r)) { c += (F[m+1] - F[m]) * ((m - (l - 1)) - (r - m)); m++; } if(F[r+1] - F[m] + c <= B) { c += F[r+1] - F[m]; r++; } else { c -= (F[m] - F[l]); l++; } res = max(res, r - l + 1); if(m == R) break; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...