tijie
2023-08-19 17:03:02
发布于:广东
4阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int dp[401][401];
int n,a[205];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
a[n+i]=a[i];
}
for(int i=2;i<=n+1;i++){
for(int j=1;j+i-1<=2*n;j++){
int endx=j+i-1;
for(int k=j+1;k<=j+i-2;k++){
dp[j][endx]=max(dp[j][endx],dp[j][k]+dp[k][endx]+a[j]*a[k]*a[endx]);
}
}
}
int maxn=-1e9;
for(int i=1;i<=n;i++){
maxn=max(maxn,dp[i][n+i]);
}
cout<<maxn;
return 0;
}
这里空空如也
有帮助,赞一个