Cod sursa(job #361521)

Utilizator BaduBadu Badu Badu Data 5 noiembrie 2009 18:18:09
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
#define inf -9999999999

long best,n,x,start,lung,B,S,L;

int main(){

	FILE * f=fopen("ssm.in", "r");
	FILE * g=fopen("ssm.out","w");

	fscanf(f,"%d",&n);
	best = B = inf;
	long i;
	for(i=1;i<=n;i++){
		
		fscanf(f,"%d",&x);

		if      ( best + x <= x ) { start = i; best = x; lung = 1; }
		else if ( best + x > x  ) { best += x ; lung++;            }

		if ( B < best ){ B = best ; S = start ; L = lung; }

	}

	fprintf(g,"%d %d %d",B,S,S+L-1);

	
	return 0;
}