1 条题解
-
0
#include <bits/stdc++.h> using namespace std; const int N=610; int f[N][N],a[N],n,ans=0,j; int main(){ cin>>n; memset(f,0,sizeof(f)); for(int i=1; i<=n; i++) cin>>a[i],a[i+n]=a[i]; for(int len=0; len<=n; len++) for(int i=1; len+i<=2*n; i++){ j=i+len; for(int k=i; k<j; k++) f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+a[i]*a[k+1]*a[j+1]); } for(int i=1; i<=n; i++) ans=max(ans,f[i][i+n-1]); cout<<ans; return 0; }
信息
- ID
- 5121
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 57
- 已通过
- 21
- 上传者