Cod sursa(job #649812)

Utilizator FIICHSFIICernatHurjuiSchipor FIICHS Data 16 decembrie 2011 19:56:41
Problema Subsecventa de suma maxima Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

int main()
{
	FILE *input,*output;
	input=fopen("ssm.in","r");
	output=fopen("ssm.out","w");
	long x,n,i=1,aux=0,first=0,last=0,suma_max,suma_aux;
	if(fscanf(input,"%ld",&n)==EOF)
		goto exit;
	fscanf(input,"%ld",&suma_max);
	suma_aux=suma_max;
	for(i=1;i<=n;i++)
	{
		fscanf(input,"%ld",&x);
		if(suma_aux>0)
			suma_aux+=x;
		else
		{
			suma_aux=x;
			aux=i;
		}
		if(suma_aux>=suma_max)
		{
			suma_max=suma_aux;
			first=aux;
			last=i;
		}
	}
	fprintf(output,"%d %d %d",suma_max,first,last);
	exit:
	fclose(output);
	return 0;
}