Pagini recente » Cod sursa (job #1926811) | Cod sursa (job #924806) | Cod sursa (job #256923) | Cod sursa (job #698217) | Cod sursa (job #2552206)
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
int n, k;
deque<int> dq;
vector<int> v;
int main() {
fstream fi("deque.in", ios::in);
fstream fo("deque.out", ios::out);
long long s = 0;
fi >> n >> k;
v.push_back(0);
for (int i = 1; i <= n; ++i) {
v.push_back(0);
fi >> v.back();
}
#define bak dq.back()
#define frn dq.front()
#define meow dq.pop_back()
#define bark dq.pop_front()
for (int i = 1; i <= n; ++i) {
while (!dq.empty() && v[bak] > v[i]) meow;
dq.push_back(i);
if (frn == i-k) bark;
if (i >= k) s += v[frn];
}
fo << s;
fo.close();
fi.close();
return 0;
}