Pagini recente » Cod sursa (job #391013) | Cod sursa (job #1879816) | Cod sursa (job #2978909) | Cod sursa (job #2175971) | Cod sursa (job #487320)
Cod sursa(job #487320)
#include <stdio.h>
#include <math.h>
long n, k, st, dr, i, nr, a[5000010], t[5000010], sum, ok;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%ld %ld", &n, &k);
st = 1;dr = 1;
for (i = 1; i <= n; ++i) {
ok = 0;
scanf("%ld", &nr);
if (i == 1) {
a[1] = nr;
t[1] = 1;
if (i >= k) sum += a[st];
continue;
}
if (i - t[st] >= k) ++st;
while (a[dr] >= nr && dr >= st) --dr;
a[++dr] = nr;
t[dr] = i;
if (i >= k) sum += a[st];
}
printf("%ld\n", sum);
return 0;
}