Cod sursa(job #709808)

Utilizator fhandreiAndrei Hareza fhandrei Data 8 martie 2012 16:50:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
//Include
#include <stdio.h>
#include <limits.h>

//Variabile
FILE *in, *out;

int n;
int sumaMax = INT_MIN, sumaCurent;
int begin, end, lastStart;
int citit;
//int secv[MAX_SIZE];

//Main
int main()
{
	in=fopen("ssm.in","rt");
	out=fopen("ssm.out","wt");
	fscanf(in, "%d", &n);
	
	for(int i=1 ; i<=n ; ++i)
	{
		fscanf(in, "%d", &citit);
		sumaCurent += citit;
		
		if(sumaCurent > sumaMax)
		{
			sumaMax=sumaCurent;
			begin = lastStart + 1;
			end = i;
		}
		
		if(sumaCurent < 0)
		{
			sumaCurent = 0;
			lastStart = i;
		}
	}
	
	fprintf(out, "%d %d %d", sumaMax, begin, end);
	
	
	fclose(in);
	fclose(out);
	return 0;
}