#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 100009;
ll n, m, b, a[N], p[N];
int besthub(int n_, int m_, int a_[], ll b_) {
n = n_, m = m_, b = b_;
for (int i = 1; i <= n; i++) a[i] = a_[i - 1];
for (int i = 1; i <= n; i++) p[i] = p[i - 1] + a[i];
int res = 1;
for (ll i = 1; i <= n; i++) {
int l = 0, r = min(i, n - i);
while (l < r) {
int mid = (l + r + 1) >> 1;
int lg = min(i - mid + 1, i), rg = i + mid;
ll c = p[rg] - p[i] - a[i] * (ll)mid;
c += a[i] * max(0ll, (ll)mid - 1) - (p[i - 1] - p[lg - 1]);
if (c <= b) l = mid; else r = mid - 1;
}
res = max(res, l + l);
l = 0, r = min(i - 1, n - i);
while (l < r) {
int mid = (l + r + 1) >> 1;
int lg = i - mid, rg = i + mid;
ll c = p[rg] - p[i] - a[i] * (ll)mid;
c += a[i] * (ll)mid - (p[i - 1] - p[lg - 1]);
if (c <= b) l = mid; else r = mid - 1;
}
res = max(res, l + l + 1);
}
return res;
}