Cod sursa(job #731676)

Utilizator LauraBBuf Laura LauraB Data 8 aprilie 2012 20:48:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#define NMAX 6000001
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int a[NMAX];
int main()
{
	int n;
	fin >> n;
	for(int i = 1; i <= n; i++)
		fin >> a[i];
	int sum = -2147483647, min = 0, poz = 0, cont = 0, end = 0;
	for(int i = 1; i <= n; i++)
	{
		a[i] += a[i - 1];
		if(sum < a[i] - min)
		{
			sum = a[i] - min;
			cont = poz + 1;
			end = i;
		}
		if(min > a[i])
		{
			min = a[i];
			poz = i;
		}
	}
	fout << sum << " " << cont << " " << end;
	fin.close();
	fout.close();
	return 0;
}