动态规划
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int t,n;
int i;
int num;
int f=1;
int ans;
int max,min;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
max=min=0;
ans=0;
for(i=0;i<n;i++)
{
scanf("%d",&num);
if(num==0)
max=min=0;
if(num==2)
{
max++;
if(min!=0)
min++;
}
if(num==-2)
{
int temp=min;
if(max!=0)
min=max+1;
else
min=1;
if(temp!=0)
max=temp+1;
else
max=0;
}
ans=(ans>max?ans:max);
}
printf("Case #%d: %d\n",f++,ans);
}
return 0;
}