Cod sursa(job #650920)

Utilizator YvonneYvonne Enescu Yvonne Data 19 decembrie 2011 11:19:11
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;

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

int v[6000001];

int main()
{
	int i, N, sci, sti, smax, drmax,stmax;
	in>>N;
	for (i=1;i<=N;i++)
		in>>v[i];
	smax = sci = v[1];
	sti = smax = drmax = 1;
	for(i=2;i<=N;i++)
	{
		if(sci<0)
		{
			sti=i;
			sci=v[i];
		}
		else sci+=v[i];
		//out << "la pasul "<<i<<" am suma "<<sci<<"\n";
		if(sci>smax)
		{
			stmax=sti;
			drmax=i;
			smax=sci;
		}
	}
	out<<smax<<" "<<stmax<<" "<<drmax<<"\n";
	return 0;
}