View Code of Problem 19

#include <iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<string>
#include<algorithm>
#include <iomanip>
using namespace std;
int main() {
	int a[100000], dp[100000];
	int n;
	while (cin>>n)
	{
		if (n == 0)
			break;
		for (int i = 0; i < n; i++) {
			cin >> a[i];
		}
		int sum = 0;
		dp[0] = a[0];
		for (int i = 1; i < n; i++) {
			
			dp[i] = max(a[i], dp[i - 1]+a[i]);
		}
		int max = 0;
		for (int i = 0; i < n; i++) {
			if (dp[max] < dp[i]) {
				max = i;
			}
		}
		cout << dp[max] << endl;
	}
	
}

Double click to view unformatted code.


Back to problem 19