Solution
这个题可以看成找一段区间书的数量最多,那么我们不难想到尺取法。
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+10;
int a[N],n,t;
int main(){
scanf("%d%d",&n,&t);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int l=1,r=1,s=0,ans=0;
while(233){
while(r<=n&&s<=t) s+=a[r++];
if(s<=t){
ans=max(ans,r-l);
break;
}
else ans=max(ans,r-l-1);
s-=a[l++];
}
printf("%d
",ans);
return 0;
}