Pagini recente » Cod sursa (job #2701273) | Cod sursa (job #1607819) | Cod sursa (job #2402499) | Cod sursa (job #1608053) | Cod sursa (job #3357994)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main() {
int n, k;
fin >> n >> k;
deque<int> dq;
int64_t ans = 0;
for (int i = 0; i < n; ++i) {
int x;
fin >> x;
while (!dq.empty() && dq.back() >= x) {
dq.pop_back();
}
dq.push_back(x);
if (!dq.empty() && dq.front() <= x) {
while (!dq.empty() && dq.front() <= i - k + 1) {
dq.pop_front();
}
}
if (i >= k - 1) {
ans += dq.front();
}
}
fout << ans;
return 0;
}