Cod sursa(job #325788)

Utilizator crisojogcristian ojog crisojog Data 22 iunie 2009 14:01:38
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
long n,i,a[6000002],s,smax,is,im,sfm;
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%ld",&n);
	for(i=1;i<=n;++i) scanf("%ld",&a[i]);
	s=a[1];
	smax=a[1];
	is=sfm=1;
	for(i=2;i<=n;++i)
	{
		if(s+a[i]>a[i])
			s=s+a[i];
		else
		{
			s=a[i];
			is=i;
		}
		if(s>smax)
		{
			smax=s;
			im=is;
			sfm=i;
		}
	}
	printf("%ld %ld %ld\n",smax,im,sfm);
	return 0;
	
}