0
已解决
李致远
高级光能
高级光能
#include<iostream> using namespace std; long long n,f[205][205]; struct node { long long h,r; } a[205]; int main(){ cin>>n; for(int i=1; i<=n; i++) { cin>>a[i].h; if(i==1) { a[n].r=a[i].h; } else { a[i=1].r=a[i].h; } } for(int i=1; i<=n; i++) { a[i+n].h=a[i].h; a[i+n].r=a[i].r; } for(int l=1; l<n; l++) { for(int i=1; i<=2*n; i++) { int j=l+i; if(j>2*n) { break; } for(int k=1; k<j; k++){ f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+a[i].h*a[k].r*a[i].r); } } } long long ans=-1; for(int i=1; i<=n; i++) ans=max(ans,f[i][i+n-1]); cout<<ans; return 0; }
//为何Time Limit Exceeded:0分了?