Pagini recente » Cod sursa (job #3040129) | Cod sursa (job #1029484) | Cod sursa (job #2401170) | Cod sursa (job #235525)
Cod sursa(job #235525)
#include <stdio.h>
#define ll long long
#define NMax 5000005
int N, K;
int poz[NMax], v[NMax];
ll Res;
int main()
{
int i, f, l;
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i = 1; i <= N; ++i)
scanf("%d", &v[i]);
f = 1; l = 0;
for (i = 1; i <= N; ++i)
{
for (; f <= l && poz[f] <= i-K; ++f);
for (; f <= l && v[i] <= v[poz[l]]; --l);
poz[++l] = i;
if (i >= K)
Res += v[poz[f]];
}
printf("%lld\n", Res);
return 0;
}