Cod sursa(job #402194)

Utilizator Robert29FMI Tilica Robert Robert29 Data 23 februarie 2010 16:50:07
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int ss,i,j,ii,jj,v[6000001],s[6000001],n;
int main() {
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&v[1]);
	s[1]=v[1];							         
	ii=1;
	j=1;
	ss=v[1];
	for(i=2;i<=n;i++){
		fscanf(f,"%d",&v[i]);  
		if(s[i-1]+v[i]>v[i])
			s[i]=s[i-1]+v[i];
		else{
			s[i]=v[i];
			j=i;	
		}
		if(ss<s[i]){
			ss=s[i];
			ii=i;
			jj=j;
		}	
	}
	fprintf(g,"%d %d %d",ss,jj,ii);
	
	fclose(g);
	fclose(f);
	return 0;
}