Cod sursa(job #336477)

Utilizator prdianaProdan Diana prdiana Data 31 iulie 2009 16:44:30
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>

int max(int v1,int v2)
{
	if (v1>v2)
	{
		return v1;
	}
	return v2;
}

int main()
{
	freopen("smm.in","r",stdin);
	freopen("smm.out","w",stdout);
	int n,i,aux,st,end;
	scanf("%d",&n);
	scanf("%d",&aux);
	int best = aux;
	int b = aux;
	st = 1;
	end = 1;
	for (i=1;i<n;i++)
	{
		scanf("%d",&aux);
		if (max(0,b) == 0)
		{
			st = i+1;
		}
		b = aux + max(0,b);
		if (b>best)
		{
			best = b;
			end = i+1;
		}

	}
	printf("%d %d %d\n",best,st,end);
	return 0;
}