Cod sursa(job #527426)

Utilizator Eugen01Vasilescu Eugen Eugen01 Data 31 ianuarie 2011 15:03:45
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>

int n,i,j,a[6000000],s,smax,st,dr,ic;

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