Pagini recente » Cod sursa (job #563055) | Cod sursa (job #2660499) | Cod sursa (job #3279158) | Cod sursa (job #2464378) | Cod sursa (job #633959)
Cod sursa(job #633959)
#include <stdio.h>
#include <math.h>
long n, k, co, i, deq[5000001], deq2[5000001], j, q;
long long sum = 0;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%ld %ld", &n, &k);
co = 1;
scanf("%ld", &deq[1]);
deq2[1] = 1;
j = 1;
for (i = 2; i <= n; ++i) {
scanf("%ld", &q);
while (deq[co] > q && co >= 1 && deq2[co] >= i - k + 1) {
deq[co] = 0;
--co;
}
deq[++co] = q;
deq2[co] = i;
if (i >= k) {
for (; j <= co; ++j) {
if (deq2[j] >= i - k + 1) {
sum += deq[j];
break;
}
}
}
}
printf("%lld\n", sum);
return 0;
}