Cod sursa(job #323169)

Utilizator GulyanAlexandru Gulyan Data 10 iunie 2009 22:55:25
Problema Subsecventa de suma maxima Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>
#include <stdlib.h>

#define SMAX 6000000
int v[SMAX], s[SMAX], n;

int main()
{
	FILE * f1 = fopen("ssm.in", "r",);
	FILE * f2 = fopen("ssm.out", "w");
	int i, bi, ei = bi = 0;
	fscanf(f1, "%d%d", &n, v);
	s[0] = v[0];
	for(i = 1; i < n; ++i){
		fscanf(f1, "%d", v+i);
		if(s[i-1] < 0)
			s[bi = i] = v[i];
		else
			s[i] = s[i-1] + v[i];
		if(s[i] >= s[ei])
			ei = i;
	}
	fprintf(f2, "%d %d %d\n", s[ei], bi+1, ei+1);
	fclose( f2 );
	return 0;
}