滑动窗口
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;
int a[100001],n,s;
int solve()
{
int start=1,dest=1,mini=0,sum=0;
while(sum < s && dest<=n)
sum+=a[dest++];
if(sum>=s)
mini = dest-start;
while(start<=n)
{
if(dest == n+1)
sum -= a[start++];
else
{
sum -= a[start++];
sum += a[dest++];
}
if(sum < s)
continue;
else
{
while(sum >= s)
sum -= a[--dest];
sum += a[dest++];
mini = dest - start;
}
}
return mini;
}
int main()
{
int t;
scanf("%d",&t);
bool bb;
while(t--)
{
bb=false;
scanf("%d %d",&n,&s);
for(int i=1;i<=n;++i)
{
scanf("%d",&a[i]);
if(a[i] >= s)
bb = true;
}
if(bb)
printf("1\n");
else
printf("%d\n",solve());
}
return 0;
}