Cod sursa(job #270768)

Utilizator scvalexAlexandru Scvortov scvalex Data 4 martie 2009 16:07:07
Problema Subsecventa de suma maxima Scor 95
Compilator c Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>

int N;

int main(int argc, char *argv[]) {
	int i, ss, se, sm;
	int M, A, Sc, Su;

	FILE *fi = fopen("ssm.in", "r");
	fscanf(fi, "%d", &N);
	fscanf(fi, "%d", &A);
	Sc = A;
	Su = A;
	M = 0;
	sm = Sc;
	ss = se = 0;
	for (i = 1; i < N; ++i) {
		fscanf(fi, "%d", &A);
		Sc += A;
		if (Su > Sc) {
			M = i;
			Su = Sc;
		}
		if (Sc - Su > sm) {
			sm = Sc - Su;
			ss = M+1;
			se = i;
		}
	}
	fclose(fi);

	FILE *fo = fopen("ssm.out", "w");
	fprintf(fo, "%d %d %d\n", sm, ss+1, se+1);
	fclose(fo);

	return 0;
}