Cod sursa(job #741014)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 25 aprilie 2012 09:43:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;

const int MAX = 6000050;

int v[MAX], start[MAX];

int main()
{
	int n, nr, maxim, st = 1, stop = 1;
	ifstream in("ssm.in");
	ofstream out("ssm.out");
	in>>n; in>>nr; 
	v[1] = nr; start[1] = 1; maxim = nr;
	for(int i = 2; i <= n; i++)
	{
		in>>nr;
		if(v[i - 1] >= 0)
		{
			v[i] = v[i - 1] + nr;
			start[i] = start[i - 1];
		}
		else
		{
			v[i] = nr;
			start[i] = i;
		}
		if(v[i] > maxim)
		{
			maxim = v[i];
			st = start[i];
			stop = i;
		}
	}
	out<<maxim<<" "<<st<<" "<<stop;
}