Cod sursa(job #1348815)

Utilizator BonCipBonciocat Ciprian Mircea BonCip Data 19 februarie 2015 21:10:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
#include <limits.h>

int main()
{
	FILE *fin, *fout;
	fin = fopen("ssm.in", "r");
	fout = fopen("ssm.out", "w");

	int N;
	fscanf(fin, "%d", &N);

	int i, ssm = 0, panssm = INT_MIN, b = 1, e = 0, pb = -1, pe = -1;
	for (i = 1; i <= N; ++i) {
		int num;
		fscanf(fin, "%d", &num);
		if (ssm >= 0) {
			ssm += num;
			++e;
		} else {
			ssm = num;
			b = e = i;
		}
		if (panssm < ssm) {
			panssm = ssm;
			pb = b;
			pe = e;
		}
	}

	fprintf(fout, "%d %d %d\n", panssm, pb, pe);

	fclose(fin);
	fclose(fout);
	return 0;
}