#include<bits/stdc++.h>
using namespace std;
int a[10010],s[10010],n,m,ans=10010;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
s[i]=s[i-1]+a[i];
}
for(int i=1;i<=n;i++){
//在s数组中找大于等于 s[i-1]+m 的值的下标
int j=lower_bound(s,s+n+1,s[i-1]+m)-s;
ans=min(ans,j+1-i);
}
cout<<(ans==10010?0:ans);
return 0;
}
C++ 最小区间和
最新推荐文章于 2024-03-27 17:22:18 发布
389

被折叠的 条评论
为什么被折叠?



