Pagini recente » Cod sursa (job #317) | Cod sursa (job #365360) | Cod sursa (job #2719499) | Cod sursa (job #46107) | Cod sursa (job #27770)
Cod sursa(job #27770)
#include <stdio.h>
#define FIN "secv2.in"
#define FOUT "secv2.out"
#define MAX 50500
long A[MAX], i, st, dr, poz, N, k;
long long S[MAX], act, max;
int main() {
freopen(FIN, "r", stdin);
scanf("%ld %ld", &N, &k);
for (i=1; i<=N; ++i) {
scanf("%ld", A+i);
S[i] = S[i-1] + A[i];
}
fclose(stdin);
st = 1; dr = k;
max = S[k];
poz = 1; act = max;
for (i=k+1; i<=N; ++i) {
act += A[i];
if ( act<S[i]-S[i-k] ) {
act = S[i]-S[i-k];
poz = i-k+1;
}
if ( act>max ) {
max = act;
st = poz; dr = i;
}
}
freopen(FOUT, "w", stdout);
printf("%ld %ld %lld\n", st, dr, max);
fclose(stdout);
return 0;
}