Cod sursa(job #412840)

Utilizator RaphyRafailescu Marius Raphy Data 6 martie 2010 15:33:20
Problema Subsecventa de suma maxima Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
#include <stdlib.h>

int main(){
int n,*v,i;
FILE* in;
FILE* out;
in=fopen("ssm.in","r");
out=fopen("ssm.out","w");
fscanf(in,"%d",&n);
v=(int*)malloc (n*sizeof(int));
for (i=0;i<n;i++)
	fscanf(in,"%d",&v[i]);
int smax,sum,start,stop;
smax=sum=v[0];
for (i=1;i<n;i++){
	if (sum<0){
		sum=v[i];
		start=i+1;
	}
	else{
		sum+=v[i];
		stop=i;
	}
	if (sum>smax) smax=sum;
}
fprintf(out,"%d %d %d",smax,start,stop);
fclose(in);
fclose(out);
free(v);
return 0;
}