#include using namespace std; const int MAXN = 10001; const int MAXK = 1000; const long long INF = 1ll << 50; long long dp[MAXN]; void solve(){ int n, k; cin >> n >> k; dp[0] = 0; for (int i = 1; i <= n; i++) { dp[i] = INF; } for (int i = 1; i <= n; i++) { long long c; cin >> c; int next = min(n, i + k); int prev = max(0, i - k - 1); dp[next] = min(dp[next], dp[prev] + c); } cout << dp[n]; } int main(){ int t = 1; while (t--) { solve(); cout << endl; } }