Pagini recente » Cod sursa (job #223707) | Cod sursa (job #201483) | Asociatia infoarena | Cod sursa (job #3288568) | Cod sursa (job #3275764)
#include <iostream>
#include <deque>
#define fi first
#define se second
using namespace std;
deque<pair<long long, int>> q;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k; cin >> n >> k;
long long ans = 0;
for(int i = 1; i <= n; i ++) {
long long x; cin >> x;
if(q.size() && q.back().se <= i - k)
q.pop_back();
while(q.size() && q.front().fi >= x)
q.pop_front();
q.push_front({x, i});
if(i >= k)
ans += q.back().fi;
}
cout << ans;
}