//Mặc định
#include <bits/stdc++.h>
#define Nhanh ios_base::sync_with_stdio(0); cin.tie(0);
#define NhapT int T; cin >> T; for(int iT = 0; iT < T; ++iT)
#define YES cout << "YES\n";
#define NO cout << "NO\n";
using namespace std;
int n;
int gtr(pair <int, int> a) {
return a.first + min(a.second, n + 1 - a.second);
}
int gtr0(pair <int, int> a) {
return a.first + a.second;
}
bool comp(pair <int, int> a, pair <int, int> b) {
return gtr(a) < gtr(b);
}
int main() {
Nhanh
int kq, tien, i;
cin >> n >> tien;
vector <pair <int, int> > quan(n);
for(i = 0; i < n; ++i) {
cin >> quan[i].first;
quan[i].second = i + 1;
}
sort(quan.begin(), quan.end(), comp);
bool dung = 0;
for(i = 0; i < n && tien - gtr(quan[i]) > 0; ++i) {
tien -= gtr(quan[i]);
if(!dung && quan[i].second < (n + 1)/2) {
dung = 1;
}
}
kq = i;
if(!dung && kq != 0) {
int dem1, dem2, th1, th2, x;
x = INT_MAX;
for(i = kq; i < n; ++i) {
x = min(x, gtr0(quan[i]));
}
th1 = tien - x;
for(dem1 = kq - 1; dem1 >= 0 && th1 < 0; --dem1) {
th1 += gtr(quan[dem1]);
}
x = INT_MAX;
for(i = 0; i < kq; ++i) {
x = min(x, quan[i].second);
}
th2 = tien + n + 1 - x * 2;
for(dem2 = kq - 1; dem2 >= 0 && th2 < 0; --dem2) {
th2 += gtr(quan[dem2]);
}
kq = max(dem1, dem2) + 1;
}
cout << kq;
return 0;
}
Ly9N4bq3YyDEkeG7i25oCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIE5oYW5oIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiNkZWZpbmUgTmhhcFQgaW50IFQ7IGNpbiA+PiBUOyBmb3IoaW50IGlUID0gMDsgaVQgPCBUOyArK2lUKQojZGVmaW5lIFlFUyBjb3V0IDw8ICJZRVNcbiI7CiNkZWZpbmUgTk8gY291dCA8PCAiTk9cbiI7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuOwppbnQgZ3RyKHBhaXIgPGludCwgaW50PiBhKSB7CiAgICByZXR1cm4gYS5maXJzdCArIG1pbihhLnNlY29uZCwgbiArIDEgLSBhLnNlY29uZCk7Cn0KaW50IGd0cjAocGFpciA8aW50LCBpbnQ+IGEpIHsKICAgIHJldHVybiBhLmZpcnN0ICsgYS5zZWNvbmQ7Cn0KYm9vbCBjb21wKHBhaXIgPGludCwgaW50PiBhLCBwYWlyIDxpbnQsIGludD4gYikgewogICAgcmV0dXJuIGd0cihhKSA8IGd0cihiKTsKfQppbnQgbWFpbigpIHsKICAgIE5oYW5oCgogICAgaW50IGtxLCB0aWVuLCBpOwogICAgY2luID4+IG4gPj4gdGllbjsKICAgIHZlY3RvciA8cGFpciA8aW50LCBpbnQ+ID4gcXVhbihuKTsKICAgIGZvcihpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGNpbiA+PiBxdWFuW2ldLmZpcnN0OwogICAgICAgIHF1YW5baV0uc2Vjb25kID0gaSArIDE7CiAgICB9CiAgICBzb3J0KHF1YW4uYmVnaW4oKSwgcXVhbi5lbmQoKSwgY29tcCk7CiAgICBib29sIGR1bmcgPSAwOwogICAgZm9yKGkgPSAwOyBpIDwgbiAmJiB0aWVuIC0gZ3RyKHF1YW5baV0pID4gMDsgKytpKSB7CiAgICAgICAgdGllbiAtPSBndHIocXVhbltpXSk7CiAgICAgICAgaWYoIWR1bmcgJiYgcXVhbltpXS5zZWNvbmQgPCAobiArIDEpLzIpIHsKICAgICAgICAgICAgZHVuZyA9IDE7CiAgICAgICAgfQogICAgfQogICAga3EgPSBpOwogICAgaWYoIWR1bmcgJiYga3EgIT0gMCkgewogICAgICAgIGludCBkZW0xLCBkZW0yLCB0aDEsIHRoMiwgeDsKICAgICAgICB4ID0gSU5UX01BWDsKICAgICAgICBmb3IoaSA9IGtxOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIHggPSBtaW4oeCwgZ3RyMChxdWFuW2ldKSk7CiAgICAgICAgfQogICAgICAgIHRoMSA9IHRpZW4gLSB4OwogICAgICAgIGZvcihkZW0xID0ga3EgLSAxOyBkZW0xID49IDAgJiYgdGgxIDwgMDsgLS1kZW0xKSB7CiAgICAgICAgICAgIHRoMSArPSBndHIocXVhbltkZW0xXSk7CiAgICAgICAgfQogICAgICAgIHggPSBJTlRfTUFYOwogICAgICAgIGZvcihpID0gMDsgaSA8IGtxOyArK2kpIHsKICAgICAgICAgICAgeCA9IG1pbih4LCBxdWFuW2ldLnNlY29uZCk7IAogICAgICAgIH0KICAgICAgICB0aDIgPSB0aWVuICsgbiArIDEgLSB4ICogMjsKICAgICAgICBmb3IoZGVtMiA9IGtxIC0gMTsgZGVtMiA+PSAwICYmIHRoMiA8IDA7IC0tZGVtMikgewogICAgICAgICAgICB0aDIgKz0gZ3RyKHF1YW5bZGVtMl0pOwogICAgICAgIH0KICAgICAgICBrcSA9IG1heChkZW0xLCBkZW0yKSArIDE7CiAgICB9CiAgICBjb3V0IDw8IGtxOwogICAgcmV0dXJuIDA7Cn0=