Cod sursa(job #325711)

Utilizator udrescu_cristiUdrescu Cristian udrescu_cristi Data 21 iunie 2009 23:30:18
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
long smax,s,n,i,x,st,dr,inc,sf;
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%ld",&n);
	scanf("%ld",&x);
	s=smax=x;
	st=dr=1;
	for (i=2;i<=n;i++)
	{
		scanf("%ld",&x);
		if (s+x>=x)
		{
			dr++;
			s+=x;
		}
		else
		{
			st=dr=i;
			s=x;
		}
		if (s>smax)
		{
			smax=s;
			inc=st;
			sf=dr;
		}
	}
	printf("%ld %ld %ld\n",smax,inc,sf);
	return 0;
}