Cod sursa(job #459776)

Utilizator andunhillMacarescu Sebastian andunhill Data 31 mai 2010 09:54:51
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
using namespace std;
#define Infinit 6000000
ifstream f("ssm.in");
ofstream g("ssm.out");
long A[6000005],B[6000005],best,N,st,dr;
void citire()
{	f>>N;
	B[0]=0;
	for(long i=1;i<=N;i++)
	{	f>>A[i];
		B[i]=B[i-1]+A[i];
	}
}
int min(long long i)
{	long long m=Infinit,j;
	for(long x=1;x<i;x++)
	{	if(m>B[x])
		{	m=B[x];
			j=x;
		}
	}
	return j;
}
int main()
{	citire();
	long long max=-1000000;
	for(long i=2,j;i<=N;i++)
	{	j=min(i)+1;
		best=B[i]-B[j-1];
		if(max<best)
		{	max=best;
			st=j;
			dr=i;
		}
	}
	g<<max<<" "<<st<<" "<<dr;
	f.close();
	g.close();
	return 0;
}