Submission #540819

#TimeUsernameProblemLanguageResultExecution timeMemory
540819MohamedFaresNebiliRice Hub (IOI11_ricehub)C++14
100 / 100
19 ms2388 KiB
#include <bits/stdc++.h> #include "ricehub.h" /// #pragma GCC optimize ("Ofast") /// #pragma GCC target ("avx2") using namespace std; using ll = long long; using ii = pair<ll, ll>; #define ff first #define ss second #define pb push_back const int MOD = 1e9 + 7; int besthub(int R, int L, int X[], long long B) { int res = 0; vector<ll> pref(R, 0); for(int l = 0; l < R; l++) { pref[l] = X[l]; if(l) pref[l] += pref[l - 1]; } for(int l = 0; l < R; l++) { int curr = 1; int lo = l, hi = R - 1; while(lo <= hi) { int md = (lo + hi) / 2; int d = (md + l) / 2; ll m = X[d]; ll calc = m * (d - l + 1) - 2 * pref[d] - m * (md - d) + pref[md]; if(l) calc += pref[l - 1]; if(calc <= B) lo = md + 1, curr = max(curr, md - l + 1); else hi = md - 1; } res = max(res, curr); } 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...