Pagini recente » Cod sursa (job #585279) | Borderou de evaluare (job #425087) | Cod sursa (job #54023) | Cod sursa (job #2388195) | Cod sursa (job #3257096)
#include <bits/stdc++.h>
#define INF 10000000000000000LL
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long n,a[503],i,j,k,dp[503][503];
int main()
{ f>>n;
for (i=1;i<=n+1;i++){
f>>a[i];
}
//dp[i][i]=0
for (i=2;i<=n;i++){
dp[i-1][i]=1ll*a[i-1]*a[i]*a[i+1];
}
for (i=n;i>0;i--){
for (j=2;i+j<=n;j++){
dp[i][i+j]=INF;
for (k=i;k<=i+j;k++){
dp[i][i+j]=min(dp[i][i+j],
1ll*dp[i][k]+dp[k+1][i+j]+1ll*a[i]*a[k+1]*a[i+j+1]);
}
}
}
g<<dp[1][n]<<'\n';
return 0;
}