Pagini recente » Cod sursa (job #927874) | Cod sursa (job #472067) | Cod sursa (job #545355) | Cod sursa (job #2554403) | Cod sursa (job #2629709)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque <int> q;
int n, k, el;
long long sum;
int main() {
fin >> n >> k;
for (int i = 1; i <= n; ++i) {
fin >> el;
if (k == 1) {
sum += el;
continue;
}
if (i == 1) {
q.push_back(el);
continue;
}
int el_sterse = 0;
while (!q.empty()) {
if (q.back() > el) {
q.pop_back();
++el_sterse;
}
else
break;
}
q.insert(q.end(), el_sterse, el);
q.push_back(el);
if (i >= k && !q.empty()) {
sum += q.front();
q.pop_front();
}
}
fout << sum;
return 0;
}