This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int besthub(int R, int L, int X[], long long B) {
long long pref[ R ];
for(int i = 0;i < R;i++) {
pref[ i ] = X[ i ];
if(i) pref[ i ] += pref[i - 1];
}
auto sum = [&](int l, int r) {
if(l > r) return 0ll;
return pref[r] - (l ? pref[l-1] : 0);
};
auto func = [&](int l, int r) {
int m = (l + r) / 2;
return sum(m + 1, r) - sum(l, m - 1) - X[m] * ((r - l) % 2);
};
int res = 0;
for(int i = 0;i < R;i++) {
int l = -1, r = i;
while(r - l > 1) {
int m = (l + r) / 2;
if(func(m, i) <= B) r = m;
else l = m;
}
res = max(res, i - l);
}
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |