ACE-Top

导航

Max Sum(dp)

  经典DP啊!!dp的力量啊,,30Ms~~~~秒过。。。。。

 1 #include<stdio.h>
 2 
 3 int main ()
 4 {   int T,a,n,x,y;
 5     while(scanf("%d",&T)!=EOF)
 6     {
 7         for(int ca=1;ca<=T;ca++)
 8         {
 9             scanf("%d",&n);
10             int strt=1,end=1,max=-11111,sum=0;
11             for(int i=1;i<=n;i++)
12             {
13                scanf("%d",&a);
14                sum+=a;
15                if(sum>max){max=sum;x=strt;y=end;}
16                if(sum>=0)
17                      end+=1; 
18                if(sum<0)
19                {
20                      strt=i+1;
21                      end=i+1;
22                      sum=0;
23                }
24             }
25             printf("Case %d:\n",ca);
26             printf("%d %d %d\n",max,x,y);
27             if(ca!=T)printf("\n");
28         }
29     }
30 }

 

posted on 2013-08-24 17:53  ACE-Top  阅读(153)  评论(0编辑  收藏  举报