Cod sursa(job #1667065)

Utilizator macajouMaca George macajou Data 28 martie 2016 17:03:03
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#define inf 1<<31

using namespace std;


void max_sum(int& start, int& end, int& sumMax)
{
	int x,n;

	ifstream fin("ssm.in");
	fin >> n;
	fin >> x;

	int i, sum = x, startC = 1;
	for (i = 2; i <= n; i++)
	{
		fin >> x;
		if (sum > sumMax)
		{
			sumMax = sum;
			end = i - 1;
			start = startC;
		}

		if (sum > 0)
		{
			sum += x;
		}
		else
		{
			startC = i;
			sum = x;
		}
	}

	if (sum > sumMax)
	{
		sumMax = sum;
		end = i - 1;
		start = startC;
	}

}

int main()
{
	int start = 1, end = 1, sumMax = inf;

	ofstream fout("ssm.out");

	max_sum(start, end, sumMax);

	fout << sumMax << " " << start << " " << end;

	return 0;
}