//satyaki3794 #include #define ff first #define ss second #define pb push_back #define MOD (1000000007LL) #define LEFT(n) (2*(n)) #define RIGHT(n) (2*(n)+1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair ii; typedef pair iii; ll pwr(ll base, ll p, ll mod = MOD){ ll ans = 1;while(p){if(p&1)ans=(ans*base)%mod;base=(base*base)%mod;p/=2;}return ans; } ll gcd(ll a, ll b){ if(b == 0) return a; return gcd(b, a%b); } int n, k; ll arr[10004], DP[10004]; int main(){ ios_base::sync_with_stdio(0); cin>>n>>k; for(int i=1;i<=n;i++) cin>>arr[i]; ll temp = MOD; for(int i=1;i<=min(k+1, n);i++){ temp = min(temp, arr[i]); DP[i] = temp; } for(int i=k+2;i<=n;i++){ DP[i] = (ll)1e15; for(int j=i;j>=1&&i-j<=k;j--){ DP[i] = min(DP[i], arr[i]+DP[max(0, j-k-1)]); } } ll ans = (ll)1e15; for(int i=n;i>=1&&i>=n-k;i--) ans = min(ans, DP[i]); cout<