数据过水
查看原帖
数据过水
1054119
xzq4121楼主2024/11/20 15:37

我的code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=105;
int n,dp[N*2][N*2],a[N];
signed main(){
    scanf("%lld",&n);
    for(int i=1;i<=n;i++){
        scanf("%lld",&a[i]);
        a[i+n]=a[i];
    }
    for(int i=2*n-1;i>=1;i--){
        for(int j=i+1;j<=2*n;j++){
            for(int k=i;k<j;k++){
                int sum=dp[i][k]+dp[k+1][j]+a[i]*a[k+1]*a[j+1];
                dp[i][j]=max(dp[i][j],sum);
            }
        }
    }
    int ans=0;
    for(int i=1;i<=n+1;i++) ans=max(ans,dp[i][i+n-1]);
    printf("%lld",ans);
    return 0;
}

注意这里第 55 行我写的是 a[N],应该为 a[N*2],但是这份代码能 ACAC

2024/11/20 15:37
加载中...