Cod sursa(job #668028)

Utilizator eliseiDragoslav Elisei elisei Data 24 ianuarie 2012 09:56:33
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>

using namespace std;
int a[6000001];
int main()
{
	int n,i,maxim,ultimul,primul,s,poz;
	ifstream fin("ssm.in");
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>a[i];
	}
	fin.close();
	poz=1;
	primul=ultimul=1;
	maxim=a[1];
	s=a[i];
	if(s<0)
	{
		s=0;
		poz=2;
	}
	
	for(i=2;i<=n;i++)
	{
		s=s+a[i];
		if(s>maxim)
		{
			maxim=s;
			ultimul=i;
			primul=poz;
		}
		if(s<0)
		{
			s=0;
			poz=i+1;
		}
	}
	
	
	
	ofstream fout("ssm.out");
	fout<<maxim<<" "<<primul<<" "<<ultimul<<"\n";
	fout.close();
	return 0;
}