Cod sursa(job #274525)

Utilizator nautilusCohal Alexandru nautilus Data 9 martie 2009 20:20:59
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream.h>

int main()
{
 long n,a[6000000],best,i,incep,sfc=1,incepc=1,sf,max=-2147483647;

 ifstream fin("ssm.in");

 fin>>n;
 for (i=1; i<=n; i++)
	fin>>a[i];

 best=a[1];

 for (i=2; i<=n; i++)
	if (a[i]>best+a[i])
	 {
		best=a[i];
		incepc=i; sfc=i;
	 } else
	 {
		best=best+a[i];
		sfc++;

		if (best>max)
		 {
			max=best;
			incep=incepc;
			sf=sfc;
		 }
	 }
 ofstream fout("ssm.out");
 fout<<max<<" "<<incep<<" "<<sf;

 fin.close();
 fout.close();

 return 0;
}