Cod sursa(job #268211)

Utilizator TabaraTabara Mihai Tabara Data 28 februarie 2009 22:20:29
Problema Subsecventa de suma maxima Scor 75
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>

#define in "ssm.in"
#define out "ssm.out"
#define NMAX 10001
#define INF 7000005


int n;
int maxim;

int main(void)
{
	freopen( in, "r", stdin );
	freopen ( out, "w", stdout );
	
	int X, Y, A;
	scanf ( "%d", &n );
	int i, begin, end;

	maxim = -INF;
	for ( i = 0; i < n; ++i )
	{
		scanf( "%d", &A );
		if ( i == 0 ) { X = A; begin = end = 0; maxim = A; continue; }
		else
		{
			Y = A;
			if ( Y < A + X ) Y = A + X;
			else begin = i;
			if ( Y > maxim ) { maxim = Y; end = i; }
			X = Y;
		}
	}
		
	printf ( "%d %d %d\n", maxim, begin+1, end+1 );
	return 0;
}