Cod sursa(job #361057)

Utilizator MihaiGmihaig MihaiG Data 3 noiembrie 2009 16:50:54
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int n,bests,pozs,last;
void citire(){
	bests=-2<<30;
	int best,poz,i,elm;
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&best);
	poz=1;
	last=1;
	for(int i=2;i<=n;i++){
		fscanf(f,"%d",&elm);
		if(elm <= best + elm){
			best+=elm;
		}else{
			best=elm;
			poz=i;
		}
		if(best>bests){
			bests=best;
			pozs=poz;
			last = i;
		}
	}
}

void afis(){
	fprintf(g,"%d %d %d",bests,pozs,last);
}

int main(){
	citire();
	afis();
	fclose(f);
	fclose(g);
	return 0;
}