Submission #958095

#TimeUsernameProblemLanguageResultExecution timeMemory
958095d4xnRice Hub (IOI11_ricehub)C++17
100 / 100
13 ms3676 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define ll long long int besthub(int R, int L, int X[], ll B) { ll n = R; ll ans = 1; ll l = 0; ll r = 0; ll mid = 0; ll cost = 0; ll cntL = 1; ll cntR = 0; while (l < n) { while (r+1 < n) { ll prevCost = cost; ll prevMid = mid; ll prevCntL = cntL; ll prevCntR = cntR; r++; cntR++; cost += X[r]-X[mid]; while (cntL < cntR) { ll sz = X[mid+1]-X[mid]; cost += cntL*sz - cntR*sz; mid++; cntL++; cntR--; } if (cost > B) { r--; cost = prevCost; mid = prevMid; cntL = prevCntL; cntR = prevCntR; break; } } ans = max(ans, r-l+1); cost -= X[mid]-X[l]; cntL--; l++; } 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...