Cod sursa(job #280262)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 13 martie 2009 12:05:30
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int n,i,sc=0,smax=0,x,poz1,poz2; 
	//sc=cea mai mare suma obtinuta pe o secventa cu ultimul elem
	//smax=cea mai mare suma obtinuta pana la momentul curent
	scanf("%d",&n);
	poz1=1;
	smax=-1000000000;
	for (i=1; i<=n; i++)
	{
		scanf("%d",&x);
		sc+=x;
		if (sc>smax)
		{
			smax=sc;
			poz2=i;
		}
		if (sc<0)
		{
			sc=0;
			poz1=i+1;
		}
	}
	printf("%d %d %d",smax,poz1,poz2);
	return 0;
}