View Code of Problem 19

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

int main()
{
	int n;

	while (cin >> n) {

		if (n == 0)
			return 0;

		vector<int> nums(n);
		for (int i = 0; i < n; i++)
			cin >> nums[i];

		vector<int> dp(n);
		int res = -1000000000;

		dp[0] = nums[0];
		for (int i = 1; i < n; i++) {

			dp[i] = max(nums[i], dp[i - 1] + nums[i]);
		}

		for(int i = 0; i < n; i++)
			res = max(res, dp[i]);

		cout << res << endl;
	}
}

Double click to view unformatted code.


Back to problem 19