Pagini recente » Cod sursa (job #2468253) | Cod sursa (job #3032166) | Cod sursa (job #1158403) | Cod sursa (job #3246893) | Cod sursa (job #3295833)
#include <iostream>
#include <cstdio>
#include <fstream>
#include <unordered_map>
#include <vector>
#include <map>
#include <deque>
#define int long long
using namespace std;
signed main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k, x, ans = 0;
cin >> n >> k;
deque<pair<int, int>> dq;
for(int i = 1; i <= n; i ++) {
cin >> x;
while(!dq.empty() && x < dq.back().first)
dq.pop_back();
dq.emplace_back(x, i);
while(dq.front().second < i - k + 1)
dq.pop_front();
if(i >= k) {
ans += dq.front().first;
}
}
cout << ans << '\n';
return 0;
}