Cod sursa(job #1224078)

Utilizator o_micBianca Costin o_mic Data 29 august 2014 16:41:05
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#define MAX_LENGTH 6000005

 using namespace std;

int best[MAX_LENGTH], seq[MAX_LENGTH];

int main()
{
	int n, i, bestSum, left, right;
	fstream f("ssm.in", ios::in);
	fstream g("ssm.out", ios::out);
	f >> n;
	for(i = 0 ; i < n ; i++)
		f >> seq[i];
	bestSum = best[0] = seq[0];
	left = right = 0;
	for(i = 1 ; i < n ; i++)
	{
		best[i] = seq[i];
		if(best[i] <= best[i-1] + seq[i])
			best[i] = best[i-1] + seq[i];
		else
			left = i;
		if(best[i] > bestSum)
		{
			bestSum = best[i];
			right = i;
		}
	}
	g << bestSum << " " << left + 1 << " " << right + 1;
	return 0;
}