Cod sursa(job #649833)

Utilizator FIICHSFIICernatHurjuiSchipor FIICHS Data 16 decembrie 2011 20:11:53
Problema Subsecventa de suma maxima Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>
int main()
{
	FILE *input,*output;
	input=fopen("ssm.in","r");
	long long x,n,i=1,aux=0,first=0,last=0,suma_max,suma_aux;
	if(fscanf(input,"%lld",&n)==EOF)
		goto exit;
	fscanf(input,"%lld",&suma_max);
	suma_aux=suma_max;
	for(i=1;i<=n;i++)
	{
		fscanf(input,"%lld",&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;
		}
	}
	output=fopen("ssm.out","w");
	fprintf(output,"%lld %lld %lld",suma_max,first,last);
	exit:
	fclose(input);
	fclose(output);
	return 0;
}