// author : anphung
#include<bits/stdc++.h>
using namespace std;
#define int64 long long
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define f0(i,a,b) for(int (i)=(a);(i)<=(b);++i)
#define file(name) if(fopen(name".inp","r")){ freopen(name".inp","r",stdin);freopen(name".out","w",stdout);}
#define maxn 100005
int n;
int64 s;
int a[maxn];
int64 ans;
bool check(int mid){
int64 cursum = 0;
int64 sum = INT_MIN;
f0(i,0,mid-1){
cursum += mid;
}
sum = max(cursum,sum);
f0(i,mid,n-mid){
cursum += a[i] - a[i-mid];
sum = max(sum,cursum);
}
return sum >= s;
}
int32_t main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n>>s;
f0(i,0,n-1)cin>>a[i];
int lo = 1, hi = 5e5;
while(lo<=hi){
int mid = lo + ((hi-lo)>>1);
if(check(mid)){
ans = mid;
hi = mid - 1;
}else lo = mid + 1;
}
cout<<ans;
cerr << "time elapsed: "<<TIME <<"s.\n";
}
Ly8gYXV0aG9yIDogYW5waHVuZwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGludDY0IGxvbmcgbG9uZwojZGVmaW5lIFRJTUUgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykKI2RlZmluZSBmMChpLGEsYikgZm9yKGludCAoaSk9KGEpOyhpKTw9KGIpOysraSkKI2RlZmluZSBmaWxlKG5hbWUpIGlmKGZvcGVuKG5hbWUiLmlucCIsInIiKSl7IGZyZW9wZW4obmFtZSIuaW5wIiwiciIsc3RkaW4pO2ZyZW9wZW4obmFtZSIub3V0IiwidyIsc3Rkb3V0KTt9CiNkZWZpbmUgbWF4biAxMDAwMDUKCmludCBuOwppbnQ2NCBzOwppbnQgYVttYXhuXTsKaW50NjQgYW5zOwoKYm9vbCBjaGVjayhpbnQgbWlkKXsKCWludDY0IGN1cnN1bSA9IDA7CglpbnQ2NCBzdW0gPSBJTlRfTUlOOwoKCWYwKGksMCxtaWQtMSl7CgkJY3Vyc3VtICs9IG1pZDsKCX0KCXN1bSA9IG1heChjdXJzdW0sc3VtKTsKCglmMChpLG1pZCxuLW1pZCl7CgkJY3Vyc3VtICs9IGFbaV0gLSBhW2ktbWlkXTsKCQlzdW0gPSBtYXgoc3VtLGN1cnN1bSk7Cgl9CglyZXR1cm4gc3VtID49IHM7Cn0KCmludDMyX3QgbWFpbigpewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKCQoJY2luPj5uPj5zOwkKCWYwKGksMCxuLTEpY2luPj5hW2ldOwoKCWludCBsbyA9IDEsIGhpID0gNWU1OwoKCXdoaWxlKGxvPD1oaSl7CgkJaW50IG1pZCA9IGxvICsgKChoaS1sbyk+PjEpOwoJCWlmKGNoZWNrKG1pZCkpewoJCQlhbnMgPSBtaWQ7CgkJCWhpID0gbWlkIC0gMTsKCQl9ZWxzZSBsbyA9IG1pZCArIDE7Cgl9CgoJY291dDw8YW5zOwoKCWNlcnIgPDwgInRpbWUgZWxhcHNlZDogIjw8VElNRSA8PCJzLlxuIjsKfQ==