#include<bits/stdc++.h>
using namespace std;
const int N=505;
int arr[N][N],c[N][N],dp[N][N];
int n,m,t;
int main(){
cin>>m>>n;
for(int i=1;i<m;i++){
cin>>arr[i][i+1];
}
for(int i=1;i<=m;i++){
for(int j=i+1;j<=m;j++){
arr[i][j]=arr[i][j-1]+arr[j-1][j];
arr[j][i]=arr[i][j];
}
}
for(int i=1;i<=m;i++){
for(int j=i+1;j<=m;j++){
int mid=(i+j)/2;
c[i][j]=0;
for(int k=i;k<=j;k++){
c[i][j]+=arr[k][mid];
}
}
}
for(int i=1;i<=m;i++){
dp[i][1]=c[1][i];
}
for(int i=1;i<=m;i++){
for(int j=2;j<=n;j++){
dp[i][j]=INT_MAX;
for(int k=j-1;j<=i;k++){
dp[i][j]=min(dp[i][j],dp[k][j-1]+c[k+1][i]);
}
}
}
cout<<dp[m][n];
return 0;
}