Cod sursa(job #4018)

Utilizator vlad_DVlad Dumitriu vlad_D Data 30 decembrie 2006 00:47:17
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int i,j, K, N;
int sum[50001];
int sum2[50001];
int best, poz;
int main() {
freopen("secv2.in", "r", stdin);
freopen("secv2.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i=1; i<=N; i++) {
	int X;
	scanf("%d", &X);
	sum[i] = sum[i-1] + X;
		}
for (i=1; i<=N; i++) sum2[i] = sum[i];
for (i=1; i<=N; i++) if (sum2[i-1] < sum2[i]) sum2[i] = sum2[i-1];

for (i=K; i<=N; i++) {
		int X= sum[i]-sum2[i-K];
		if (i==K  || X > best){best = X; poz = i;}
	}
for (i=poz-K; i>=0; i--) if (sum[poz] - sum[i] == best) break;
i++;
printf("%d %d %d\n", i, poz, best);
	return 0;
}