博客园 首页 私信博主 显示目录 隐藏目录 管理

最大连续和

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 #define INF 0x3f3f3f3f
 7 const int maxn = 1000;
 8 int s[maxn];
 9 int A[maxn];
10 
11 int main(){
12     int n;
13     cin>>n;
14     memset(s,0,sizeof(s));
15     for( int i=1; i<=n; i++ ){
16         cin>>A[i];
17         s[i]=s[i-1]+A[i];
18     }
19     for( int i=1; i<=n; i++ ){
20         cout<<s[i]<<" ";
21     }
22     cout<<endl;
23     int ans=0;
24 //    for( int i=1; i<=n; i++ ){
25 //        for( int j=i; j<=n; j++ ){
26 //            ans=max(ans,s[j]-s[i-1]);
27 //        }
28 //    }
29     int tmp=0;
30     for( int i=1; i<=n; i++ ){
31         tmp=min(tmp,s[i]);
32         ans=max(ans,s[i]-tmp);
33     }
34     cout<<ans<<endl;
35     return 0;
36 }
37 //4 5 3 6 -1 -4 -3 9

 

posted @ 2019-03-18 21:16  Brave_WTZ  阅读(210)  评论(0编辑  收藏  举报