#include<bits/stdc++.h> using namespace std; long long num[1000005]; long long dp[1000005]; int main() { int n; while (cin >> n) { if (n == 0) break; memset(dp, 0, n + 1); memset(num, 0, n + 1); long long max_ = dp[0]; for (int i = 1; i <= n; i++) scanf("%lld", &num[i]); for (int i = 1; i <= n; i++) { dp[i] = max(dp[i - 1] + num[i], num[i]); max_ = max(dp[i], max_); } printf("%lld\n", max_); } return 0; } |
Double click to view unformatted code.