Submission #1301173

#TimeUsernameProblemLanguageResultExecution timeMemory
1301173pashtetkasRice Hub (IOI11_ricehub)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> using namespace std; bool check(int k, vector<long long> &pref, int R, long long B) { long long min_wyn = LLONG_MAX; int n = R - k + 1; for (int l = 1; l <= n; l++) { int r = l + k - 1; int m = l + (k / 2); long long temp_wyn = (long long)(m - l) * pref[m] - (pref[m] - pref[l - 1]); temp_wyn += (pref[r] - pref[m]) - (long long)(r - m) * pref[m]; min_wyn = min(min_wyn, temp_wyn); } return min_wyn <= B; } long long besthub(int R, int L, int X[], long long B) { vector<long long> pref(R + 1, 0); for (int i = 1; i <= R; i++) pref[i] = pref[i - 1] + X[i - 1]; int l = 1, r = R; int wyn = 0; while (l <= r) { int mid = (l + r) / 2; if (check(mid, pref, R, B)) { wyn = mid; l = mid + 1; } else { r = mid - 1; } } return wyn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...