#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ifstream fin( "deque.in" );
ofstream fout( "deque.out" );
const int DIM = 5e6 + 1;
int v[DIM];
int main() {
ios_base::sync_with_stdio(0);
fin.tie(0);
int n, k;
ll s = 0;
fin >> n >> k;
deque<int> dq;
for ( int i = 1; i <= n; ++i ) {
fin >> v[i];
if ( i <= k ) {
while ( dq.size() && v[dq.back()] >= v[i] ) {
dq.pop_back();
}
dq.push_back(i);
}
}
s += v[dq.front()];
for ( int i = k + 1; i <= n; ++i ) {
if ( i - k == dq.front() ) {
dq.pop_front();
}
while ( dq.size() && v[dq.back()] >= v[i] ) {
dq.pop_back();
}
dq.push_back(i);
s += v[dq.front()];
}
fout << s;
fin.close();
fout.close();
return 0;
}