Cod sursa(job #361522)

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

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,"%ld",&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,"%ld %ld %ld",B,S,S+L-1);

	
	return 0;
}