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... |