Pagini recente » Cod sursa (job #1940321) | Cod sursa (job #1261228) | Cod sursa (job #2612165) | Cod sursa (job #1230857) | Cod sursa (job #3173622)
#include <stdio.h>
#define NMAX 5000005
int n, k, v[NMAX], d[NMAX];
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; ++i) {
scanf("%d", &v[i]);
}
long long sum = 0;
int f = 1, b = 0;
for (int i = 1; i <= n; ++i) {
while (f <= b && v[i] <= v[d[b]]) b--;
d[++b] = i;
if (d[f] == i - k) ++f;
if (i >= k) sum += v[d[f]];
}
printf("%lld", sum);
fclose(stdin);
fclose(stdout);
return 0;
}