Pagini recente » Cod sursa (job #1605179) | Cod sursa (job #111191) | Cod sursa (job #223448) | Cod sursa (job #2377389) | Cod sursa (job #2629434)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque <int> q;
int n, k, el, sum;
int main() {
fin >> n >> k;
for (int i = 1; i <= n; ++i) {
fin >> el;
if (i == 1) {
q.push_back(el);
continue;
}
int el_sterse = 0, lmax = q.size() - 1;
while (q[lmax] > el) {
q.pop_back();
++el_sterse;
--lmax;
if (lmax < 0)
break;
}
while (el_sterse--)
q.push_back(el);
q.push_back(el);
if (i >= k) {
sum += q.front();
q.pop_front();
}
}
fout << sum;
return 0;
}