View Code of Problem 19

#include<bits/stdc++.h>
using namespace std;
int num[1000005];
int dp[1000005];
int main() {
	int n;
	while (cin >> n) {
		if (n == 0)
			break;
		memset(dp, 0, n+1);
          	memset(num, 0,n+1);
		int max_ = dp[0];
		for (int i = 1; i <= n; i++)
			cin >> num[i];
		for (int i = 1; i <= n; i++) {
			dp[i] = max(dp[i - 1] + num[i], num[i]);
			max_ = max(dp[i], max_);
		}
		cout << max_ << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 19