#include <bits/stdc++.h>
using namespace std;
long long n, s;
long long a[100009];
// Khởi tạo mảng cộng dồn p
long long p[100009];
bool check(int k) {
for(int i = 1; i <= n - k + 1; ++i) {
int t = p[i + k - 1] - p[i - 1]; // code của anh dùng mảng cộng dồn p, còn a là mảng lưu giá trị thôi
// code cua em
// int t = a[i + k - 1] - a[i - 1];
if(t <= s)
return true;
}
return false;
}
int main() {
cin >> n;
cin >> s; // em thiếu cin s, đề có s thì phải nhập cho đủ
for(int i = 1; i <= n; ++i) {
cin >> a[i];
}
// Khởi tạo mảng cộng dồn
for(int i = 1; i <= n; ++i) {
p[i] = p[i - 1] + a[i];
}
int l = 1, r = n, ans = 0;
while(l <= r) {
int mid = (l + r) / 2;
if(check(mid) == true) {
ans = mid;
l = mid + 1;
}
else {
r = mid - 1;
}
// cout << ans
// Lưu ý: ko để cout trong while/ for vì nó sẽ in ra nhiều lần
}
cout << ans; // vì chỉ cần kết quả cuối cùng nên cout ở đây
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgbG9uZyBuLCBzOwpsb25nIGxvbmcgYVsxMDAwMDldOwovLyBLaOG7n2kgdOG6oW8gbeG6o25nIGPhu5luZyBk4buTbiBwCmxvbmcgbG9uZyBwWzEwMDAwOV07CmJvb2wgY2hlY2soaW50IGspIHsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbiAtIGsgKyAxOyArK2kpIHsKICAgICAgICBpbnQgdCA9IHBbaSArIGsgLSAxXSAtIHBbaSAtIDFdOyAvLyBjb2RlIGPhu6dhIGFuaCBkw7luZyBt4bqjbmcgY+G7mW5nIGThu5NuIHAsIGPDsm4gYSBsw6AgbeG6o25nIGzGsHUgZ2nDoSB0cuG7iyB0aMO0aQogICAgICAgIC8vIGNvZGUgY3VhIGVtCiAgICAgICAgLy8gaW50IHQgPSBhW2kgKyBrIC0gMV0gLSBhW2kgLSAxXTsKICAgICAgICBpZih0IDw9IHMpCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkgewogICAgY2luID4+IG47CiAgICBjaW4gPj4gczsgLy8gZW0gdGhp4bq/dSBjaW4gcywgxJHhu4EgY8OzIHMgdGjDrCBwaOG6o2kgbmjhuq1wIGNobyDEkeG7pwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIC8vIEto4bufaSB04bqhbyBt4bqjbmcgY+G7mW5nIGThu5NuCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIHBbaV0gPSBwW2kgLSAxXSArIGFbaV07CiAgICB9CiAgICBpbnQgbCA9IDEsIHIgPSBuLCBhbnMgPSAwOwogICAgd2hpbGUobCA8PSByKSB7CiAgICAgICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgICAgIGlmKGNoZWNrKG1pZCkgPT0gdHJ1ZSkgewogICAgICAgICAgICBhbnMgPSBtaWQ7CiAgICAgICAgICAgIGwgPSBtaWQgKyAxOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgciA9IG1pZCAtIDE7CiAgICAgICAgfQogICAgICAgIC8vIGNvdXQgPDwgYW5zCiAgICAgICAgLy8gTMawdSDDvToga28gxJHhu4MgY291dCB0cm9uZyB3aGlsZS8gZm9yIHbDrCBuw7Mgc+G6vSBpbiByYSBuaGnhu4F1IGzhuqduCiAgICB9CiAgICBjb3V0IDw8IGFuczsgLy8gdsOsIGNo4buJIGPhuqduIGvhur90IHF14bqjIGN14buRaSBjw7luZyBuw6puIGNvdXQg4bufIMSRw6J5Cn0K