# include <iostream>
# include <cstring>

using namespace std;
const int N=100010;
int n;
long long s[N];
long long l,r;
int x;
long long y;
int main(){
    cin>>n;
    while(n--){
        cin>>x>>y;
        memset(s,0,sizeof(s));
        long long ss=9999999;
        for(int i=1;i<=x;i++)
            cin>>s[i];
        for(int i=1;i<=x;i++)
            s[i]+=s[i-1];
        l=1;
        int s1=ss;
        for(r=l;r<=x;){
            if(s[r]-s[l-1]>=y) {
                ss=min(r-l+1,ss);
                l++;
            }
            else r++;
        }
        if(s1==ss) cout<<0<<endl;
        else
        cout<<ss<<endl;
    }
    return 0;
}

总结:
忘记考虑一种情况了,如果是没有找到大于等于s的怎么办呢?
当时一直卡在这里,结果每次错了都爆零,主要是没有考虑完全,虽然题目没有说如果没有大于等于s的,以后遇见判断if的情况需要想一下如果一次if都没有进去怎么办。。。