Pagini recente » Cod sursa (job #3148037) | Cod sursa (job #747120) | Cod sursa (job #1126862) | Cod sursa (job #563823) | Cod sursa (job #2629711)
#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 lmax = q.size() - 1;
while (lmax >= 0) {
if (q[lmax] > el) {
q.erase(q.begin() + lmax);
q.push_back(el);
--lmax;
}
else
break;
}
q.push_back(el);
if (i >= k && !q.empty()) {
sum += q.front();
q.pop_front();
}
for (int k = 0; k < q.size(); ++k)
cout << q[k] << " ";
cout << "\n";
}
fout << sum;
return 0;
}