为啥最后两个点会RE...
明明用了好多优化方法
我这么弱的吗
求大佬帮助!这是代码
#include<iostream>
using namespace std;
int n,a[201];
long long maxn,f[202][202]={};
int max(int,int);
inline int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int main()
{
cin>>n;
for(register int i=1;i<=n;++i)
{
cin>>a[i];
a[i+n]=a[i];
}
for(register int i=2*n-1;i>=1;--i)
for(register int j=i+1;j<i+n;++j)
for(register 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]);
if(f[i][j]>maxn)
maxn=f[i][j];
}
cout<<maxn<<endl;
return 0;
}