Cod sursa(job #608307)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 16 august 2011 10:53:11
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
long i,x,n,max,s,l,pozi,pozfin,nr,max2,k1,k2;
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%ld",&n);
	max2=-3200000;
	for (i=1;i<=n;i++)
	{
		scanf("%ld",&x);
		if (max<s)
		{
			max=s;
			pozi=l;
			pozfin=i-1;
		}
		nr++;
		if (nr==1)
			l=i;
		s+=x;
		if (s<0)
		{
			if (max2<s)
			{
				k1=l;
				k2=i;
				max2=x;
			}
			s=0;
			nr=0;
		}
	}
	if (pozi!=0&&pozfin!=0)
		printf("%ld %ld %ld",max,pozi,pozfin);
	else
		printf("%ld %ld %ld",max2,k1,k2);
}