Pagini recente » Cod sursa (job #2094655) | Cod sursa (job #468905) | Cod sursa (job #700972) | Cod sursa (job #701119) | Cod sursa (job #2641110)
#include <bits/stdc++.h>
#define M 5000001
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n, k, v[M], Front = 1, Back, dqueue[M];
long long sum;
int main() {
in >> n >> k;
for (int i = 1; i <= n; ++i)
in >> v[i];
for (int i = 1; i <= n; ++i) {
while (Front <= Back && v[i] <= v[dqueue[Back]])
--Back;
dqueue[++Back] = i;
if (dqueue[Front] == i - k)
++Front;
if (i >= k)
sum += v[dqueue[Front]];
}
out << sum;
return 0;
}