Cod sursa(job #973310)

Utilizator the_chosen_oneCristian Badea the_chosen_one Data 13 iulie 2013 23:43:09
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
//Se cere sa se determine subsecventa de suma maxima.
#include<stdio.h>
int v[6000001];
int main()
{
	FILE *Fin,*Fout;
	Fin=fopen("ssm.in","r");
	Fout=fopen("ssm.out","w");
	int n,inceput=0,sfarsit=0,j=0,si=0,suma=-2147483648,min=0,i;
	fscanf(Fin,"%d",&n);
	for(i=1;i<=n;++i)
		fscanf(Fin,"%d",&v[i]);
	for(i=1;i<=n+1;++i){
		si+=v[i];
		if(si-min>suma){
			suma=si-min;
			sfarsit=i;
			inceput=j+1;
		}
		if(min>si){
			min=si;
			j=i;
		}
	}
	fprintf(Fout,"%d %d %d",suma,inceput,sfarsit);
	fclose(Fin);
	fclose(Fout);
	return 0;
}