Pagini recente » Cod sursa (job #3223235) | Cod sursa (job #220) | b0$$ de b0$$ | Cod sursa (job #1074148) | Cod sursa (job #3123455)
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
int N, K;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
cin >> N >> K;
deque<pair<int, int>> dq;
int no;
long long result = 0;
for (int idx = 0; idx < N; idx++) {
if (!dq.empty() && dq.front().second <= idx - K) {
dq.pop_front();
}
cin >> no;
while (!dq.empty() && dq.back().first >= no) {
dq.pop_back();
}
dq.push_back({no, idx});
if (idx >= K - 1) {
result += dq.front().first;
}
}
cout << result << "\n";
return 0;
}