Pagini recente » Cod sursa (job #921053) | Cod sursa (job #3210786) | Cod sursa (job #1849977) | Cod sursa (job #2157118) | Cod sursa (job #430293)
Cod sursa(job #430293)
#include<fstream>
#define oo (1ll<<60)
#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++)
dp[i][i+1]=1ll*dim[i-1]*dim[i]*dim[i+1];
for(d=2;d<n;d++)
for(i=1;i<=n-d;i++)
{
dp[i][i+d]=oo;
for(j=i;j<=i+d;j++)
if(dp[i][i+d]>dp[i][j]+dp[j+1][i+d]+1ll*dim[i-1]*dim[j]*dim[i+d])
dp[i][i+d]=dp[i][j]+dp[j+1][i+d]+1ll*dim[i-1]*dim[j]*dim[i+d];
}
g<<dp[1][n];
return 0;
}