#include <bits/stdc++.h> using namespace std; const int N = 1000010; long long dp[N]; long long a[N]; long long num; int main(){ int n; while(cin >> n){ for(int i = 0 ; i < n ; i++) cin >> a[i]; dp[0] = num = a[0]; for(int i = 0 ; i < n ; i++){ dp[i] = max(dp[i-1] + a[i],a[i]); if(num < dp[i]){ num = dp[i]; } } cout << num << endl; } }
最大子序列和 模板题