Cod sursa(job #411204)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 4 martie 2010 19:21:38
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
#define Nmax 6000001

long n,x[Nmax],smax,s,d;

int main()
{	long i,j,sigma;
	freopen("ssm.in","r",stdin);
	scanf("%ld",&n);
	for (i=1;i<=n;i++)
		scanf("%ld",x+i);
	smax=sigma=x[1];
	s=1;d=1;
	i=1;
	for (j=2;j<=n;j++)
	{	if (sigma<0)
		{ sigma=x[j];i=j;	}
		else sigma+=x[j];
		
		if (sigma>smax) 
		{	smax=sigma;s=i;d=j; }
	}
	freopen("ssm.out","w",stdout);
	printf("%ld %ld %ld\n",smax,s,d);
	return 0;
}