Pagini recente » Cod sursa (job #1063334) | Cod sursa (job #2373951) | Cod sursa (job #1761325) | Cod sursa (job #1415808) | Cod sursa (job #1768208)
#include <iostream>
#include <cstdio>
#include <deque>
#include <vector>
using namespace std;
typedef long long ll;
deque<ll> str;
deque<ll> dq;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
ll N, K, d;
ll min = 0;
scanf("%lld %lld", &N, &K);
for(int i = 0; i < N; i++) {
scanf("%lld", &d);
str.push_back(d);
if(i >= K) {
min += dq.front();
if(str.front() == dq.front()) {
dq.pop_front();
}
str.pop_front();
}
while(!dq.empty() && dq.back() > str.back()) {
dq.pop_back();
}
dq.push_back(str.back());
}
min += dq.front();
printf("%lld", min);
return 0;
}