#include <bits/stdc++.h>
using namespace std;
int besthub(int R, int L, int X[], long long B) {
vector<long long> pref(R + 1, 0);
for (int i = 0; i < R; ++i) pref[i + 1] = pref[i] + X[i];
auto cost = [&](int l, int r) -> long long {
int m = (l + r) / 2;
long long left = 1LL * X[m] * (m - l) - (pref[m] - pref[l]);
long long right = (pref[r + 1] - pref[m + 1]) - 1LL * X[m] * (r - m);
return left + right;
};
int ans = 0;
int l = 0;
for (int r = 0; r < R; ++r) {
while (l <= r && cost(l, r) > B) ++l;
ans = max(ans, r - l + 1);
}
return ans;
}