用户工具

站点工具


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()
  {
      freopen("input.in","r",stdin);
      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.1589035942.txt.gz · 最后更改: 2020/05/09 22:52 由 shaco