Pagini recente » Cod sursa (job #964547) | Cod sursa (job #1118295) | Cod sursa (job #2628547) | Cod sursa (job #661244) | Cod sursa (job #2206225)
#include <fstream>
#define Max 100000000000;
using namespace std;
long long dp[505][505],d[505],n;
int main()
{
ifstream f("podm.in");
ofstream g("podm.out");
f>>n;
for(int i=0;i<=n;i++)
f>>d[i];
for(int i=1;i<n;i++)
dp[i][i+1]=d[i-1]*d[i]*d[i+1];
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n-k;i++)
{
int kk=k+i;
dp[i][kk]=Max;
for(int j=i;j<kk;j++)
dp[i][kk]=min(dp[i][kk],dp[i][j]+dp[j+1][kk]+d[i-1]*d[j]*d[kk]);
}
}
g<<dp[1][n];
return 0;
}