Cod sursa(job #361690)

Utilizator drujbarultudorTudor Mihai Munteanu drujbarultudor Data 6 noiembrie 2009 11:51:10
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<cstdio>
const int x = -(1<<30);
const int N = (1<<23);

int main ()
{
	int inc,l,sf,i,n,smax = x,sc = 0;
	int a[N];
	freopen ("ssm.in","r",stdin);
	freopen ("ssm.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
	inc=1;
	for (i=1;i<=n;i++)
	{
		sc=sc+a[i];
		++l;
		if (sc>smax)
		{
			smax=sc;
			inc=i-l+1;
			sf=i;
		}
		if (sc<0)
		{
			sc=0;
			l=0;
		}
	}
	printf("%d %d %d",smax,inc,sf);
	return 0;
}