Submission #493530

#TimeUsernameProblemLanguageResultExecution timeMemory
493530Leo121Rice Hub (IOI11_ricehub)C++14
100 / 100
15 ms1764 KiB
#include <bits/stdc++.h> #include "ricehub.h" typedef long long ll; int besthub(int R, int L, int X[], long long B) { int li = 0, ls = 0, mediana, res = 1, nueva_mediana; ll inversion = 0LL; while(ls < R - 1){ ls ++; mediana = (li + ls) / 2; inversion += ((ll) X[ls] - (ll) X[mediana]); if(inversion <= B){ res = std::max(res, ls - li + 1); continue; } while(inversion > B){ inversion -= ((ll) X[mediana] - (ll) X[li]); nueva_mediana = (li + ls + 1) / 2; if(mediana != (li + ls + 1) / 2){ inversion -= ((ll) X[nueva_mediana] - (ll) X[mediana]); } li ++; mediana = nueva_mediana; } } 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...