Pagini recente » Cod sursa (job #3220452) | Cod sursa (job #571403) | Cod sursa (job #668267) | Cod sursa (job #3223186) | Cod sursa (job #430260)
Cod sursa(job #430260)
#include<fstream>
#define oo (1<<30)
#define nmax 510
using namespace std;
long long dp[nmax][nmax];
int dim[nmax];
int main()
{
int n,i,j,d;
ifstream f("podm.in");
ofstream g("podm.out");
f>>n;
for(i=0;i<=n;i++)
f>>dim[i];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
dp[i][j]=oo;
for(i=1;i<=n;i++)
{
dp[i][i]=0;
dp[i][i+1]=dim[i-1]*dim[i]*dim[i+1];
}
for(i=1;i<=n;i++)
for(j=i+2;j<=n;j++)
for(d=i;d<=j;d++)
if(dp[i][j]>dp[i][d]+dp[d+1][j]+dim[i-1]*dim[d]*dim[j])
dp[i][j]=dp[i][d]+dp[d+1][j]+dim[i-1]*dim[d]*dim[j];
g<<dp[1][n];
return 0;
}