View Code of Problem 4066

#include <iostream>
#include <string>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <cmath>
#include<cstring>
using namespace std;
int dp[10000000];
int a[10000000];
int main()
{
	long long n;
	cin >> n;
	for (long long i = 0;i < n;i++)
	{
		cin >> a[i];
	}
	if (a[0] > 0)
		dp[0] = a[0];
	else
		dp[0] = 0;
	int max = -1;
	for (long long i = 1;i < n;i++)
	{
		//cin >> a[i];
		
		if (a[i] + dp[i - 1] > 0)
			dp[i] = a[i] + dp[i - 1];
		else if (a[i] + dp[i - 1] < 0)
			dp[i] = 0;
		if (dp[i] > max)
			max = dp[i];
	}
	cout << max;
}

Double click to view unformatted code.


Back to problem 4066