码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1003

时间:2014-07-23 14:46:56      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   

本来不想写的

以前写过一次没过

现在每次打开HDU都会显示没完成

看着不爽

直接暴力肯定超时

其实那数组遍历一次就可以了

注意下标变化的条件

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int T;
 8     cin>>T;
 9     int t = 0;
10     while(T--)
11     {
12         t++;
13         int N;
14         cin>>N;
15 
16         int begin = 1;
17         int end = 1;
18         int left = 1;//这个是每一次累加的左端
19         int max = 0;
20         int sum =0;
21 
22         for(int i = 1;i<=N;i++)
23         {
24             int temp;
25             cin>>temp;
26             if(i==1)
27             {
28                 max = temp;
29             }
30             sum+=temp;
31             if(max<sum)//把这一次累加更新为最大的
32             {
33                 max = sum;
34                 begin = left;
35                 end = i;
36             }
37             if(sum<0)//小于0了那么前面都不要了
38             {
39                 sum = 0;
40                 left = i+1;//此位为负,直接到下一位
41             }
42         }
43 
44         cout<<"Case "<<t<<":"<<endl<<max<<" "<<begin<<" "<<end<<endl;
45 
46         if(T)
47             cout<<endl;
48 
49     }
50     return 0;
51 }

HDU 1003,布布扣,bubuko.com

HDU 1003

标签:style   blog   color   os   io   for   

原文地址:http://www.cnblogs.com/Run-dream/p/3862659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!