#include"bits/stdc++.h"

using namespace std;

const int N = 310;
int w[N];
int f[N][N][N];
int n;

int dp(int l, int r, int p) {
    if(l > r) return 0;
    if(f[l][r][p] != -1) return f[l][r][p];
    int ret = 2e9;
    for(int i = l; i<=r ; i++) {
        int left = dp(l,i-1,i);
        int right = dp(i+1,r,i);
        ret = min(ret,left + right + w[i]*w[p]);
    }
    f[l][r][p] = ret;
    return ret;
}

int main() {
    cin >> n;
    memset(f,-1,sizeof f);
    for(int i = 1; i<=n ; i++) cin >> w[i];
    cout << dp(1,n,0);
    return 0;
}
2021-03-05
在牛客打卡4天,今天学习:刷题 14 道/代码提交 24 次
全部评论

相关推荐

过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
11-30 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务