#include <bits/stdc++.h>
using namespace std;
#define ll long long int
const int M = 1e9 + 7;
// Microsoft OA 21 Aug
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
cin >> n >> k;
vector<int> v(n);
for (int i = 0; i < n; i++)
cin >> v[i];
multiset<int> st;
st.insert(0);
vector<int> dp(n);
for (int i = 1; i < n; i++)
{
int mi = *st.begin();
dp[i] = v[i] + mi;
st.insert(dp[i]);
if (st.size() > k)
{
auto it = st.find(dp[i - k]);
st.erase(it);
}
}
cout << dp[n - 1] << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludApjb25zdCBpbnQgTSA9IDFlOSArIDc7CgovLyBNaWNyb3NvZnQgT0EgMjEgQXVnCgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKCiAgICBpbnQgbiwgazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICB2ZWN0b3I8aW50PiB2KG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IHZbaV07CiAgICBtdWx0aXNldDxpbnQ+IHN0OwogICAgc3QuaW5zZXJ0KDApOwogICAgdmVjdG9yPGludD4gZHAobik7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBpbnQgbWkgPSAqc3QuYmVnaW4oKTsKICAgICAgICBkcFtpXSA9IHZbaV0gKyBtaTsKICAgICAgICBzdC5pbnNlcnQoZHBbaV0pOwogICAgICAgIGlmIChzdC5zaXplKCkgPiBrKQogICAgICAgIHsKICAgICAgICAgICAgYXV0byBpdCA9IHN0LmZpbmQoZHBbaSAtIGtdKTsKICAgICAgICAgICAgc3QuZXJhc2UoaXQpOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGRwW24gLSAxXSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K