Max  Sum

View Code
 1 //杭电1003
 2 /*2
 3 5 6 -1 5 4 -7
 4 7 0 6 -1 1 -6 7 -5
 5 
 6 Case 1:
 7 14 1 4
 8 
 9 Case 2:
10 7 1 6
11 */
12 #include<stdio.h>
13 int main()
14 {
15     int t,n,a,i,j,start,end,temp;
16     long max,sum;
17     scanf("%d",&t);
18     for(i=1;i<=t;i++)
19     {
20         sum=0;
21         temp=1;
22         max=-1001;//由于存在全是负数的情况,将最大值赋值为负数
23         scanf("%d",&n);
24         for(j=1;j<=n;j++)
25         {
26             scanf("%d",&a);
27             sum=sum+a;
28             if(sum>max)
29             {
30                 max=sum;
31                 start=temp;//将起始的下标标记
32                 end=j;//标记终止的下标
33             }
34             if(sum<0)
35             {
36                 sum=0;
37                 temp=j+1;
38             }
39         }
40         printf("Case %d:\n",i);
41             printf("%d %d %d\n",max,start,end);
42         if(i<t)
43             printf("\n");
44     }
45     return 0;
46 }
47 
48 
49 
50 
51 
52 
53 
54             

 

相关文章:

  • 2021-11-08
  • 2021-08-04
  • 2021-08-16
  • 2021-04-16
  • 2021-04-26
  • 2021-06-26
  • 2021-06-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案