#include using namespace std; #define ll long long #define ld long double #define vi vector #define pb push_back #define mp make_pair #define F first #define S second #define pii pair #define pll pair #define vii vector #define vll vector #define cps CLOCKS_PER_SEC #define eb emplace_back #define rep(i, begin, end) for (__typeof(end) i = (begin) - ((begin) > (end)); i != (end) - ((begin) > (end)); i += 1) #define all(a) (a).begin(), (a).end() #define sz(a) int((a).size()) #define print(s) cout<<#s<<" : ";for(auto i:(s))cout<j || i<0 || j<0) return 0; if(dp[i][j]>=0) return dp[i][j]; ll ans = 1e18; for(int l = i;l<=j;l++) { ans = min(ans, DP(i,l-k-1,k)+DP(l+k+1,j,k)+c[l]); } dp[i][j] = ans; return ans; } int main() { int n,k; sd(n),sd(k); for(int i = 1;i<=n;i++) sd(c[i]); for(int i = 1;i<=n;i++) for(int j = i;j<=n;j++) dp[i][j] = -1; for(int i = 1;i<=n;i++) for(int j = i;j<=n;j++) DP(i,j,k); cout<