3 条题解
-
0
#include <bits/stdc++.h> using namespace std; const int N = 1e3 + 10; const int INF = 0x3f3f3f3f; const long long LLINF = 0x3f3f3f3f3f3f3f3fLL; int a[N], sum[N], dp[N][N]; int main(){ int n; 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 l = 1, r = i ; r <= 2 * n ; l++, r++){ for(int k = l + 1 ; k <= r - 1 ; k++){ dp[l][r] = max(dp[l][r], dp[l][k] + dp[k][r] + a[l] * a[k] * a[r]); } } } int maxx = 0; for(int i = 1 ; i <= n ; i++){ maxx = max(maxx, dp[i][i + n]); } cout << maxx << endl; return 0; }
信息
- ID
- 230
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 185
- 已通过
- 92
- 上传者