#include #define int long long using namespace std; void read(int &data){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=f*-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ x=x*10+ch-'0'; ch=getchar(); } data=x*f; } void write(int x){ if(x>10) write(x/10); putchar(x%10); } int t,n,m,x,tmp,a[100005],sm[100005]; int mx,mi,flag,ans; signed main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>t; while(t--){ cin>>n>>m; sm[0]=0;mi=1,mx=1,flag=0; flag=0;x=0;ans=0; for(int i=1;i<=n;i++){ cin>>a[i]; sm[i]=sm[i-1]+a[i]; //累计增长 if(sm[i]sm[mx]) mx=i; //找到最大值 if(x<0) x=0; //立刻变回0 x+=a[i]; if(x>=m) ans=1; } if(ans){ //一轮游的情况 cout<<1<=m){ flag=1; break; } } if(flag){ cout<<2<=m) break; } ans++; } cout<