Submission #1192811

#TimeUsernameProblemLanguageResultExecution timeMemory
1192811Hamed_GhaffariRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1096 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; using ll = long long; #define SZ(x) int(x.size()) int besthub(int R, int L, int X[], ll B) { deque<int> dql, dqr; ll suml=0, sumr=0; auto fix = [&]() -> void { while(SZ(dqr)>SZ(dql)) { sumr -= dqr.front(); dql.push_back(dqr.front()); suml += dqr.front(); dqr.pop_front(); } while(SZ(dql)-1>=SZ(dqr)+1) { suml -= dql.back(); dqr.push_front(dql.back()); sumr += dql.back(); dql.pop_back(); } }; auto ins = [&](int x) -> void { dqr.push_back(x); sumr += x; fix(); }; auto er = [&]() -> void { suml -= dql.front(); dql.pop_front(); fix(); }; auto cost = [&]() -> ll { return 1ll*SZ(dql)*dql.back() - suml + (sumr - 1ll*SZ(dqr)*dql.back()); }; int ans = 0; int l=0; for(int r=0; r<R; r++) { ins(X[r]); while(cost()>B) er(), l++; ans = max(ans, r-l+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...