Cod sursa(job #663909)

Utilizator LisBaseIacob Robert LisBase Data 19 ianuarie 2012 09:48:04
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;

int a[6000001];
int main()
{
	int n,i,maxim,s,st,dr;
	
	ifstream fin ("ssm.in");
	fin>>n;
	for (i=1;i<=n;i++)
	{
		fin>>a[i];
	}
	fin.close();
	
	st=dr=1;
	maxim=a[1];
	s=a[1];
	if (s<0) s=0;
	for(i=2;i<=n;i++)
	{
		s=s+a[i];
		if (s>maxim)
		{	
			maxim=s;
			dr=i;
		}
		if (s<0) 
		{	s=0;
			st=i+1;
		}
	}

	ofstream fout ("ssm.out");
	fout<<maxim<<" "<<st<<" "<<dr;
	fout.close();
	return 0;
}