Submission #362253

#TimeUsernameProblemLanguageResultExecution timeMemory
362253WLZRice Hub (IOI11_ricehub)C++14
100 / 100
15 ms1644 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; int r; long long l, b; vector<long long> x; long long query(int a, int b) { if (a > 0) return x[b] - x[a - 1]; return x[b]; } bool check(int 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]; if (!check(2)) return 1; int 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...