Cod sursa(job #94246)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 22 octombrie 2007 15:34:16
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <math.h>

long poz1, i, poz2, n, m, k, min, smax, a[50010];

int main() {
	freopen("secv2.in", "r", stdin);
	freopen("secv2.out", "w", stdout);
	scanf("%ld%ld", &n, &m);
	min = 0;
	smax = -240000000;
	poz1 = 1;
	poz2 = k;
	for (i = 1; i <= n; i++) {
		scanf("%ld", &a[i]);
		if (i > 1) {
			a[i] = a[i-1] + a[i];
		}
	}
	for (i = k; i <= n; i++) {
		if (i > k && min > a[i-k]) {
			min = a[i-k];
			poz1 = i - k;
		}
		if (smax < (a[i] - min)) {
			smax = a[i] - min;
			poz2 = i;
		}
	}
	printf("%ld %ld %ld\n", poz1 + 1, poz2, smax);
	return 0;
}