X-man

导航

未解决

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[10100];
int main()
{
    int _case,n;
    int i,j;
    int po,ne,max,ans;
    scanf("%d",&_case);
    for(i=1;i<=_case;i++)
    {
        memset(a,0,sizeof(a));
        scanf("%d",&n);
        for(j=0;j<n;j++)
        scanf("%d",&a[j]);
        ne=0;
        po=0;
        ans=0;
        max=0;
        for(j=0;j<n;j++)
        {
            if(a[j])
            {
                //printf("#%d\n",a[j]);
                if(a[j]>0)max++;
                else
                {
                    ne++;
                    if(ne==2)
                    {
                        max+=2;
                        ne=0;
                    }
                }
            }
            else
            {
                if(max>ans)ans=max;
                ne=0;
                po=0;
                max=0;
            }
            //printf("%d\n",max);
        }
        /*if(n==1&&a[0]==-2)
        {
            printf("Case #%d: -2\n",i);
            continue;
        }*/
        if(max>ans)ans=max;
        if(ans<=0)printf("Case #%d: 0\n",i);
        else printf("Case #%d: %d\n",i,ans);
    }
    return 0;
}

http://acm.hdu.edu.cn/showproblem.php?pid=4561

 

 

posted on 2013-05-28 18:48  雨钝风轻  阅读(193)  评论(0编辑  收藏  举报