Pagini recente » Cod sursa (job #2364173) | Cod sursa (job #1206889) | Cod sursa (job #1236272) | Cod sursa (job #3212353) | Cod sursa (job #249385)
Cod sursa(job #249385)
#include <cstdio>
#define ll long long
int N, K;
int Dq[500005], V[500005];
int main () {
freopen ("deque.in", "r", stdin);
freopen ("deque.out", "w", stdout);
ll ans = 0;
scanf ("%d %d", &N, &K);
for (int i = 1; i <= N; ++ i) scanf (" %d", V + i);
for (int st = 1, dr = 0, i = 1; i <= N; ++ i) {
while (st <= dr && V[Dq[dr]] > V[i]) -- dr;
Dq[++dr] = i;
while (st <= dr && i - Dq[st] >= K) ++ st;
if (i >= K) ans += (ll)V[Dq[st]];
}
printf ("%lld\n", ans);
return 0;
}