Pagini recente » Cod sursa (job #1325399) | Cod sursa (job #2511397) | Cod sursa (job #2895966) | Cod sursa (job #2362151) | Cod sursa (job #2410177)
#include <bits/stdc++.h>
using namespace std;
int main() {
#ifdef BLAT
freopen("input", "r", stdin);
#else
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, k;
cin >> n >> k;
long long ans = 0;
deque< pair< int, int > > dq;
for(int i = 1; i <= n; ++i) {
int x;
cin >> x;
while(dq.size() && x < dq.back().first) dq.pop_back();
while(dq.size() && dq.front().second <= i) dq.pop_front();
dq.push_back(make_pair(x, i + k));
if(i >= k) {
ans += dq.front().first;
}
}
cout << ans << '\n';
return 0;
}