--------------------------------
这就是道普及,也没啥好讲的
主要就是有两个毒瘤数据点
(一个是全正数,一个是全负数)
----------------------------------
题目链接: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.
-----------------------------------