#include #include #include #include #include using namespace std; long long c[10002],dp[1001][1001]; int n,k; long long solve(int right,int idx) { if(idx==n-1) { if(right==idx)return dp[right][idx]=c[n-1]; else if(right==k)return dp[right][idx]=c[n-1]; else return 0; } if(dp[right][idx]!=0)return dp[right][idx]; long long x1,x2; if(right==k&&idx==right) return dp[right][idx]=solve(0,idx+1)+c[idx]; else if(right==2*k) return dp[right][idx]=solve(0,idx+1)+c[idx]; x1=solve(right+1,idx+1); x2=c[idx]+solve(0,idx+1); return dp[right][idx]=min(x1,x2); } int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ cin>>n>>k; for(int i=0;i>c[i]; cout<