10pts求助
查看原帖
10pts求助
1287433
__ycy1124__楼主2024/8/20 11:43
#include<bits/stdc++.h>
using namespace std;
long long n,w[201],dp[201][201],ans=0;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
		cin>>w[i];
		w[i+n]=w[i];
	}
	for(int len=2;len<=n;len++){
		for(int i=1;i<=2*n-len+1;i++){
			long long js=0;
			for(int k=i;k<i+len-1;k++){
				js=max(js,dp[i][k]+dp[k+1][i+len-1]+w[i]*w[k+1]*w[i+len-1]);
			}
			dp[i][i+len-1]=js;
			//printf("%d ",js);
		}
		//printf("\n");
	}
	for(int i=1;i<=n;i++){
		ans=max(ans,dp[i][i+n-1]);
	}
	cout<<ans;
    return 0;
}
2024/8/20 11:43
加载中...