Cod sursa(job #280296)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 13 martie 2009 12:18:24
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
struct solutie
{
	int a,b;
};
solutie v[100000];
int r;
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int n,i,sc=0,smax=0,x,poz1,poz2,stmax,drmax; 
	//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=-2000000000;
	for (poz2=1; poz2<=n; poz2++)
	{
		scanf("%d",&x);
		sc+=x;
		if (sc>smax)
		{
			smax=sc;
			stmax=poz1;
			drmax=poz2;
		}
		if (sc<0)
		{
			sc=0;
			poz1=poz2+1;
		}
	}
	printf("%d %d %d",smax,stmax,drmax);
	return 0;
}