P1115 最大子段和

--------------------------------

这就是道普及,也没啥好讲的

 

主要就是有两个毒瘤数据点

 

(一个是全正数,一个是全负数)

----------------------------------

 

题目链接:STF

 

---------------------------------

看了题就会发现挺简单的,DP,贪心,暴力,枚举,滚动数组什么的都行

 

不过滚动数组我都没用,就用了一个变量(也因此被毒瘤坑了半天)

 

-----------------------------------

 

 1 #include<iostream> 
 2 #include<algorithm>
 3 #include<cstdio>
 4 
 5 using namespace std;
 6 
 7 long long int nows;long long int n,ans=0,now;
 8 int main()
 9 {
10     scanf("%lld",&n);
11     //
12     cin>>now;
13     ans=now;
14     if(now>0)
15     nows+=now;
16     //这么做的目的是 解决毒瘤数据点 
17     //
18     for(int i=2;i<=n;++i){
19         cin>>now;
20             nows+=now;
21     if(nows>ans)    ans=nows;//记录 
22     
23         if(nows<0)//贪心 
24         {
25             nows=0;
26         }
27     }
28     cout<<ans;//输出
29     return 0; 
30 }

-----------------------------------

That is all.

-----------------------------------

posted @ 2019-05-18 19:29  Simex  阅读(199)  评论(0编辑  收藏  举报