Pagini recente » Cod sursa (job #1411302) | Cod sursa (job #272072) | Cod sursa (job #2037771) | Cod sursa (job #997866) | Cod sursa (job #3141736)
#include <bits/stdc++.h>
using namespace std;
int main() {
ifstream fin("deque.in");
ofstream fout("deque.out");
int n; fin >> n;
int k; fin >> k;
vector<int> v(n + 1);
deque<int> dq;
for (int i = 1; i < k; ++i) {
fin >> v[i];
while (dq.size() > 0 && v[dq.back()] >= v[i]) {
dq.pop_back();
}
dq.push_back(i);
}
long long s = 0;
for (int i = k; i <= n; ++i) {
fin >> v[i];
while (dq.size() > 0 && v[dq.back()] >= v[i]) {
dq.pop_back();
}
dq.push_back(i);
s += v[dq.front()];
if (dq.front() == i - k + 1) {
dq.pop_front();
}
}
fout << s;
return 0;
}