#include <cstdio>
#include <deque>
using namespace std;
int n, k;
int sir[5000005];
void solve(){
scanf("%d %d", &n, &k);
long long sol = 0;
for(int i = 0; i < n; i++){
scanf("%d", &sir[i]);
}
deque<int> dq;
for(int i = 0; i < k; i++){
while(dq.size() > 0 && sir[dq.back()] > sir[i]){
dq.pop_back();
}
dq.push_back(i);
}
sol += sir[dq.front()];
for(int i = k; i < n; i++){
while(dq.front() < i - k + 1){
dq.pop_front();
}
while(dq.size() > 0 && sir[dq.back()] > sir[i]){
dq.pop_back();
}
dq.push_back(i);
sol += sir[dq.front()];
}
printf("%lld", sol);
}
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
solve();
return 0;
}