#include #include #include #include #include using namespace std; int c[10000]; long long dp[10010][1001]={0}; int n,k; long long rec(int i,int last){ if(i<0 && last==0) return 0; if(i<0 && last!=0) return 0; if(last>k) return 1000000000000000000; if(dp[i][last]!=-1) return dp[i][last]; // cout<=0 && last+j<=k){ ans=min(ans,rec(i-j,last+j)); } } ans=min(ans,rec(i-k-1,0)+c[i]); } return dp[i][last]=ans; } int main() { cin>>n>>k; int mn=INT_MAX; long long ans=0; for(int i=0;i>c[i]; } for(int i=0;i<=10000;i++){ for(int j=0;j<=1000;j++) dp[i][j]=-1; } cout<