#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include <algorithm>
using namespace std;
const int maxn=100010;
int a[maxn];
int sum[maxn];
int times;
int n,S;
int res;
////////////////////
/*
void solve(){
for(int j=0;j<n;j++){
sum[j+1]=sum[j]+a[j];
//cout<<sum[j]<<endl;
}
if(sum[n]<s){
// cout<<'0'<<endl;
printf("0\n");
return ;//不要忘了跳出
}
res=n;
for(int i=1;sum[i]+s<sum[n];i++){
int t=lower_bound(sum+i,sum+n,sum[i]+s)-sum;
res=min(res,t-i);
}
cout<<res<<endl;
}*/
void solve2(){
int res= n+1;
int s=0,t=0,sum=0;
for(;;){
while(t<n&&sum<S){
sum+=a[t++];
}
if(sum<S)break;
res=min(res,t-s);
sum-=a[s++];
}
if(res>n){
//cout<<'0'<<endl;
printf("0\n");
return;
}
//cout<<s<<" "<<t<<endl;
cout<<res<<endl;
}
int main(){
cin>>times;
while(times--){
cin>>n>>S;
memset(a,0,sizeof(a));
memset(sum,0,sizeof(sum));
for(int i=0;i<n;i++){
cin>>a[i];
}
solve2();
}
return 0;
}
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include <algorithm>
using namespace std;
const int maxn=100010;
int a[maxn];
int sum[maxn];
int times;
int n,S;
int res;
////////////////////
/*
void solve(){
for(int j=0;j<n;j++){
sum[j+1]=sum[j]+a[j];
//cout<<sum[j]<<endl;
}
if(sum[n]<s){
// cout<<'0'<<endl;
printf("0\n");
return ;//不要忘了跳出
}
res=n;
for(int i=1;sum[i]+s<sum[n];i++){
int t=lower_bound(sum+i,sum+n,sum[i]+s)-sum;
res=min(res,t-i);
}
cout<<res<<endl;
}*/
void solve2(){
int res= n+1;
int s=0,t=0,sum=0;
for(;;){
while(t<n&&sum<S){
sum+=a[t++];
}
if(sum<S)break;
res=min(res,t-s);
sum-=a[s++];
}
if(res>n){
//cout<<'0'<<endl;
printf("0\n");
return;
}
//cout<<s<<" "<<t<<endl;
cout<<res<<endl;
}
int main(){
cin>>times;
while(times--){
cin>>n>>S;
memset(a,0,sizeof(a));
memset(sum,0,sizeof(sum));
for(int i=0;i<n;i++){
cin>>a[i];
}
solve2();
}
return 0;
}