首页 > 其他 > 详细

杭电1003

时间:2016-11-27 23:17:40      阅读:231      评论:0      收藏:0      [点我收藏+]
 1 #include<stdio.h>
 2 
 3 int a[100005],dp[100005];
 4 
 5 int main()
 6 {
 7     int n,m,i,maxn,xx,yy,x,y,t;
 8     while(~scanf("%d",&n))
 9     {
10         for(t=0; t<n; ++t)
11         {
12             scanf("%d",&m);
13             for(i=0; i<m; ++i)
14                 scanf("%d",&a[i]);
15             x=y=xx=yy=0;
16             maxn=dp[0]=a[0];
17             for(i=1; i<m; ++i)
18             {
19                 if(dp[i-1]+a[i]<a[i])
20                 {
21                     dp[i]=a[i];
22                     xx=i;
23                     yy=i;
24                 }
25                 else
26                 {
27                     dp[i]=dp[i-1]+a[i];
28                     yy=i;
29                 }
30                 if(dp[i]>maxn)
31                 {
32                     maxn=dp[i];
33                     x=xx;
34                     y=yy;
35                 }
36             }
37             if(t)
38                 printf("\n");
39             printf("Case %d:\n",t+1);
40             printf("%d %d %d\n",maxn,x+1,y+1);
41         }
42     }
43 }

 

杭电1003

原文:http://www.cnblogs.com/qq188380780/p/6107158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!