用户工具

站点工具


2020-2021:teams:no_morning_training:poj3061

这是本文档旧的修订版!


#include<cstdio>
using namespace std;
int n,s,t,a[100005];
int min(int x,int y)
{
    if(x==-1)
        return x;
    if(x>y)
        return y;
    return x;
}
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&n,&s);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        a[n+1]=0;
        int left=1,right=1,length=100005;
        long long sum=a[1];
        while(right<=n)
        {
            if(sum>=s)
            {
                length=min(length,right-left+1);
                sum-=a[left++];
            }
            else sum+=a[++right];
        }
        if(length==100005)
            length=0;
        printf("%d\n",length);
    }
    return 0;
}
2020-2021/teams/no_morning_training/poj3061.1589713695.txt.gz · 最后更改: 2020/05/17 19:08 由 shaco