Cod sursa(job #372726)

Utilizator avram_florinavram florin constantin avram_florin Data 11 decembrie 2009 14:33:39
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
//secventa de suma maxima
//infoarena ,arhiva educationala
#include<cstdio>
#define MAXN 6000001
#define for(i,a,b) for(i=a;i<=b;i++)
using namespace std;
int n,i,max1,begin,end,x,bests,best[MAXN];
int main ()
{
	freopen("ssm.in" , "r" , stdin);
	freopen("ssm.out" , "w" , stdout);
	scanf("%d" , &n);
	scanf("%d" , &x);
	bests=x;
	best[1]=bests;
	begin=1;
	end=1;
	for(i,2,n)
		{
			scanf("%d" , &x);
			if((best[i-1]+x)>x)
				best[i]=best[i-1]+x;
				else
				{
					begin=i;
					end=i;
					best[i]=x;
				}
			if(best[i]>bests)
				{
					bests=best[i];
					end=i;
				}			
		}
	printf("%d %d %d\n", bests,begin,end);
	return 0;
}