#include <bits/stdc++.h>
// #define int long long
#define dbg(x) cerr << #x << " -> " << x << "\n"
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define len(x) (int)(x).size()
#define pii pair<int,int>
#define ll long long
using namespace std;
int besthub(int R, int L, int X[], ll B) {
vector<ll> pref(R+1,0);
for(int i = 0; i < R; ++i) pref[i+1] = pref[i] + X[i];
function<bool(int)> pos = [&](int mid) -> bool{
for(int l = 0; l + mid < R + 1; ++l){
int r = l + mid - 1;
int m = (l + r) / 2;
ll med = X[m];
ll A = med * (m-l) - pref[m] + pref[l];
ll C = pref[r+1] - pref[m+1] - med*(r-m);
if(A + C <= B) return true;
}
return false;
};
int lo = 1, hi = R, ans = 1;
while(lo <= hi) {
int mid = (lo + hi) / 2;
if(pos(mid)){
ans = mid;
lo = mid + 1;
}
else hi = mid - 1;
}
return ans;
}