Submission #362252

#TimeUsernameProblemLanguageResultExecution timeMemory
362252WLZRice Hub (IOI11_ricehub)C++14
58 / 100
18 ms2560 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; long long r, l, b; vector<long long> x; long long query(long long a, long long b) { if (a > 0) return x[b] - x[a - 1]; return x[b]; } bool check(long long k) { for (int i = k - 1; i < r; i++) { long long cur = query(i - k / 2 + 1, i) - query(i - k + 1, i - (k + 1) / 2); if (cur <= b) return true; } return false; } int besthub(int R, int L, int X[], long long B) { r = R, l = L, b = B; x = vector<long long>(X, X + r); for (int i = 1; i < r; i++) x[i] += x[i - 1]; long long lo = 2, hi = r; while (lo < hi) { long long mid = (lo + hi + 1) / 2; if (check(mid)) lo = mid; else hi = mid - 1; } return lo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...