用户工具

站点工具


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.1590153343.txt.gz · 最后更改: 2020/05/22 21:15 由 shaco