Cod sursa(job #361520)

Utilizator BaduBadu Badu Badu Data 5 noiembrie 2009 18:14:44
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
#define inf -999999

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

int max( int a, int b){
	return a>b?a:b;
}

int main(){

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

	fscanf(f,"%d",&n);
	best = B = inf;
	int 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++;            }
		else if ( best + x == x) { start = i; best = x; lung = 1; }

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

	}

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

	
	return 0;
}