Cod sursa(job #2092506)

Utilizator Teodor.mTeodor Marchitan Teodor.m Data 21 decembrie 2017 20:30:09
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

FILE *in = fopen("ssm.in", "r");
FILE *out = fopen("ssm.out", "w");

int n, bestSum, actual_sum, idx, begin, end;

int main()
{
	
	fscanf(in, "%d", &n);

	bestSum = INT_MIN;
	for(int i = 1; i <= n; ++i) {
		int x; fscanf(in, "%d", &x);

		if(actual_sum < 0) {
			actual_sum = x;
			idx = i;
		}
		else {
			actual_sum += x;
		}

		if(actual_sum > bestSum) {
			bestSum = actual_sum;
			begin = idx;
			end = i;
		}
	}

	fprintf(out, "%d %d %d", bestSum, begin, end);

	fclose(in); fclose(out);

	return 0;
}