#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
deque <int> dq;
int n, k, v [5000004];
long long Sol;
int main (void){
fin >> n >> k;
for (int i = 1; i <= k; i ++){
fin >> v [i];
while (!dq.empty () && v [dq.back ()] > v [i]) dq.pop_back ();
dq.push_back (i);
}Sol += v [dq.front ()];
for (int i = k + 1; i <= n; i ++){
fin >> v [i];
if (!dq.empty () && dq.front () < i - k + 1) dq.pop_front ();
while (!dq.empty () && v [dq.back ()] > v [i]) dq.pop_back ();
dq.push_back (i);
Sol += v [dq.front ()];
}
fout << Sol;
return (0);
}