#include #include #include #include #include #include using namespace std; long long int dp[10009],c[10009]; int n,k; long long int solve(int x) { if(x-1+k>=n) return 0; if(dp[x]!=-1) return dp[x]; long long int sol=200000000000000000LL; if(x==1) { for(int i=0;i<=k;i++) { sol=min(solve(i+x+1)+c[i+x],sol); } } else { for(int i=0;i<=k;i++) { sol=min(solve(i+x+1)+c[i+x],sol); } for(int i=k+1;i<=2*k;i++) { if(i+x<=n) sol=min(solve(i+x+1)+c[i+x],sol); } } return dp[x]=sol; } int main() { memset(dp,-1,sizeof(dp)); cin>>n>>k; for(int i=1;i<=n;i++) cin>>c[i]; long long int sol=200000000000000000LL; if(k+1>=n) { for(int i=1;i<=n;i++) { sol=min(sol,c[i]); } cout<