Cod sursa(job #1188416)

Utilizator preda_alexandruPreda Alexandru preda_alexandru Data 19 mai 2014 17:35:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <cstdio>

#define MAXN 6000005

int v[MAXN];
int n;

int main()
{
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);

	scanf("%d", &n);
	for (int in = 1; in <= n; in++)
		scanf("%d", &v[in]);

	int sum_so_far = -1;
	int i_so_far;
	int j_so_far;

	int best_sum = -2;
	int i_best;
	int j_best;

	for (int in = 1; in <= n; in++) {
		if (sum_so_far < 0) {
			sum_so_far = v[in];
			i_so_far = in;
			j_so_far = in;
		} else {
			sum_so_far += v[in];
			j_so_far++;
		}

		if (sum_so_far > best_sum) {
			best_sum = sum_so_far;
			i_best = i_so_far;
			j_best = j_so_far;
		}
	}

	printf("%d %d %d\n", best_sum, i_best, j_best);

	return 0;
}