Cod sursa(job #973298)

Utilizator the_chosen_oneCristian Badea the_chosen_one Data 13 iulie 2013 23:09:50
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 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,si,sj,suma,min,i;
	fscanf(Fin,"%d",&n);
	for(i=1;i<=n;++i)
		fscanf(Fin,"%d",&v[i]);
	suma=v[1];
	si=v[1];
	sj=v[1];
	min=v[1];
	for(i=2;i<=n;++i){
		si+=v[i];
		if(si-min>suma){
			suma=si-min;
			sfarsit=i;
		}
		sj+=v[i];
		if(min>sj){
			min=sj;
			inceput=i+1;
		}
	}
	fprintf(Fout,"%d %d %d",suma,inceput,sfarsit);
	fclose(Fin);
	fclose(Fout);
	return 0;
}