【限制】
50%的数据满足:2≤n≤10000
100%的数据满足:2≤n≤1000000
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int v[1000003],f[1000003];
int n,m,i,j,k,money,ans;
int main()
{
scanf("%d%d",&n,&money);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
f[0]=0;
for (i=1;i<=n;i++)
f[i]=f[i-1]+v[i];
i=0; j=1;
while (f[j]<=money) j++;
j--;
ans=j;
for (k=j+1;k<=n;k++)
{
while (f[k]-f[i]>money)
i++;
ans=max(ans,k-i);
}
printf("%d",ans);
}