Submission #904993

#TimeUsernameProblemLanguageResultExecution timeMemory
904993MackerRice Hub (IOI11_ricehub)C++14
0 / 100
12 ms3604 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define all(v) v.begin(), v.end() //#pragma GCC optimize("Ofast") //#pragma GCC target("avx2") vector<ll> v; ll b, n; bool can(ll k){ ll med = v[k / 2]; ll dst = 0; for (ll i = 0; i < k / 2; i++) { dst += med - v[i]; } for (ll i = k / 2; i < k; i++) { dst += v[i] - med; } if(dst <= b) return true; ll lmed = med; for (ll i = k; i < n; i++) { med = v[(i + i - k + 1) / 2]; dst -= med - v[i - k]; dst += v[i] - lmed; if(dst <= b) return true; lmed = med; } return false; } int besthub(int R, int L, int X[], long long B) { v.assign(X, X+R); b = B; n = R; ll l = 0, r = R, mid; while(l < r){ mid = (l + r + 1) / 2; if(can(mid)) l = mid; else r = mid - 1; } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...