#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin>>t;
while(t--)
{
int n,d;
cin>>n>>d;
int a[n];
long long sum[n+1];
sum[0]=0;
for(int i=0;i<n;i++)
cin>>a[i];
int k=0,mini=INT_MAX;
for(int i=0;i<n;i++)
{
if(a[i]>=d)
{
mini=1;
break;
}
sum[i+1]=sum[i]+a[i];
// cout<<sum[i+1]<<"n"<<i<<" ";
if(sum[i+1]<=0 && i!=n-1)
{
sum[i+1]=-INT_MAX;
k=i+1;
}
if(sum[i+1]>=d)
{
int j;
for(j=i-1;j>=k;j--)
{
if(sum[i+1]-sum[j+1]>=d)
{
k=j+1;
// cout<<"Vals k"<<k<<" ";
break;
}
}
// cout<<sum[i+1]<<"r"<<i<<" ";
mini=min(mini,i-k+1);
// cout<<"Y";
}
}
if(mini==INT_MAX)
cout<<-1<<endl;
else cout<<mini<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CglpbnQgdDsKCWNpbj4+dDsKCXdoaWxlKHQtLSkKCXsKCQlpbnQgbixkOwoJCWNpbj4+bj4+ZDsKCQlpbnQgYVtuXTsKCQlsb25nIGxvbmcgc3VtW24rMV07CgkJc3VtWzBdPTA7CgkJZm9yKGludCBpPTA7aTxuO2krKykKCQljaW4+PmFbaV07CgkJaW50IGs9MCxtaW5pPUlOVF9NQVg7CgkJZm9yKGludCBpPTA7aTxuO2krKykKCQl7CgkJCWlmKGFbaV0+PWQpCgkJCXsKCQkJCW1pbmk9MTsKCQkJCWJyZWFrOwoJCQl9CgkJCXN1bVtpKzFdPXN1bVtpXSthW2ldOwoJCSAgICAgICAgICAgLy8gY291dDw8c3VtW2krMV08PCJuIjw8aTw8IiAiOwoJCQkKCQkJaWYoc3VtW2krMV08PTAgJiYgaSE9bi0xKQoJCQl7CgkJCQlzdW1baSsxXT0tSU5UX01BWDsKCQkJCWs9aSsxOwoJCQl9CgkJCWlmKHN1bVtpKzFdPj1kKQoJCQl7CgkJCQlpbnQgajsKCQkJCWZvcihqPWktMTtqPj1rO2otLSkKCQkJCXsKCQkJCQlpZihzdW1baSsxXS1zdW1baisxXT49ZCkKCQkJCQl7CgkJCQkJCWs9aisxOwoJCQkJCS8vCWNvdXQ8PCJWYWxzIGsiPDxrPDwiICI7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJCgkJCS8vCWNvdXQ8PHN1bVtpKzFdPDwiciI8PGk8PCIgIjsKCQkJCW1pbmk9bWluKG1pbmksaS1rKzEpOwoJCQkvLwljb3V0PDwiWSI7CgkJCX0KCQl9CgkJaWYobWluaT09SU5UX01BWCkKCQljb3V0PDwtMTw8ZW5kbDsKCQllbHNlIGNvdXQ8PG1pbmk8PGVuZGw7Cgl9CglyZXR1cm4gMDsKfSA=