Cod sursa(job #872634)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 6 februarie 2013 14:14:28
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

#define maxN 6000005
#define INF (1 << 30)

int main()
{
	freopen ("ssm.in" , "r" , stdin);
	freopen ("ssm.out" , "w" , stdout);
	
	int best = 0 , x , costSol = -INF;
	int N , st = 1 , dr , aux;
	
	scanf ("%d" , &N);
	
	for (int i = 1 ; i <= N ; ++i)
	{
		scanf ("%d" , &x);
		
		best = max (best + x , x);
		
		if (best == x)
			aux = i;
		
		if (best > costSol)
		{
			costSol = best;
			dr = i;
			st = aux;
		}
	}
	
	printf ("%d %d %d" , costSol , st , dr);
	
	return 0;
}