Pagini recente » Cod sursa (job #1232625) | Cod sursa (job #2904371) | Cod sursa (job #1968495) | Cod sursa (job #593062) | Cod sursa (job #1768202)
#include <iostream>
#include <cstdio>
#include <deque>
#include <vector>
using namespace std;
typedef long long ll;
vector<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[i-K] == dq.front()) {
dq.pop_front();
}
}
while(!dq.empty() && dq.back() > str[i]) {
dq.pop_back();
}
dq.push_back(str[i]);
}
min += dq.front();
printf("%lld", min);
return 0;
}