#include <iostream> #define MAXN 305 #define inf 123456789 using namespace std; int _m[MAXN][MAXN]; int _o[MAXN][MAXN]; int _c[MAXN]; int main() { //freopen("acm.acm","r",stdin); int n; int m; int i; int j; int k; cin>>n; cin>>m; for(i = 1; i <= n; ++ i) { cin>>_c[i]; } for(i = 1; i <= n; ++ i) { for(j = 1; j <= n; ++ j) { if(i < j) { _o[i][j] = _o[i][j-1] + _c[j] - _c[(i+j)/2]; } else { _o[i][j] = 0; } } } for(i = 1; i <= n; ++ i) { _m[i][1] = _o[1][i]; } for(i = 2; i <= m; ++ i) { for(j = 2; j <= n; ++ j) { _m[j][i] = inf; for(k = 2; k < j; ++ k) { if(_m[j][i] > _m[k][i-1] + _o[k+1][j]) { _m[j][i] = _m[k][i-1] + _o[k+1][j]; } } } } cout<<_m[n][m]<<endl; }
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com