Pagini recente » Cod sursa (job #1368104) | Cod sursa (job #333526) | Cod sursa (job #950562) | Cod sursa (job #2679829) | Cod sursa (job #2414616)
#include<fstream>
#include<algorithm>
const int NMAX=505;
using namespace std;
ifstream cin("podm.in");
ofstream cout("podm.out");
long long dp[NMAX][NMAX];
long long v[NMAX];
int main()
{
int n;
cin>>n;
for(int i=0; i<=n; ++i)
cin>>v[i];
for(int i=1; i<n; ++i)
dp[i][i+1]=v[i-1]*v[i]*v[i+1];
for(int len=2; len<n; ++len){
for(int i=1; i<=n-len; ++i){
dp[i][i+len]=dp[i][i+len-1]+v[i-1]*v[i+len-1]*v[i+len];
for(int rup=i; rup<i+len; ++rup)
dp[i][i+len]=min(dp[i][i+len],dp[i][rup]+dp[rup+1][i+len]+v[i-1]*v[rup]*v[i+len]);
}
}
cout<<dp[1][n]<<'\n';
return 0;
}