Pagini recente » Cod sursa (job #2309206) | Cod sursa (job #2112494) | Cod sursa (job #1844093) | Cod sursa (job #2568769) | Cod sursa (job #3128449)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ifstream f("deque.in");
int n, k;
f >> n >> k;
vector<int> v;
for (int i = 0; i < n; i++) {
int a;
f >> a;
v.push_back(a);
}
int sum = 0;
vector<int> v2;
for (int i = 0; i < n; i++) {
if (!v2.empty() && v2.front()<=i-k) {
v2.erase(v2.begin());
}
while (!v2.empty() && v[v2.back()]>= v[i]) {
v2.pop_back();
}
v2.push_back(i);
if (i>= k-1) {
sum += v[v2.front()];
}
}
ofstream g("deque.out");
g << sum;
f.close();
g.close();
return 0;
}