Cod sursa(job #280256)

Utilizator SheepBOYFelix Liviu SheepBOY Data 13 martie 2009 12:04:21
Problema Subsecventa de suma maxima Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
int main()
{
	int ps,pf,n,i,aux,max;
	int best[60001];
	int strt[60001];
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%d",&n);
	scanf("%d",&aux);
	best[0]=aux;
	max=aux;
	ps=1;
	pf=1;
	strt[0]=0;
	for(i=1;i<n;++i)
	{
		scanf("%d",&aux);
		best[i]=(best[i-1]+aux>aux)?best[i-1]+aux:aux;
		if(best[i]==aux)
			strt[i]=i;
		else
			strt[i]=strt[i-1];
		if(max<best[i])
		{
			max=best[i];
			pf=i+1;
			ps=strt[i]+1;
		}
	}
	printf("%d %d %d",max,ps,pf);
	return 0;
}