Pagini recente » Cod sursa (job #3214097) | Cod sursa (job #1301419) | Cod sursa (job #2056217) | Cod sursa (job #1806874) | Cod sursa (job #1334868)
#include <iostream>
#include <fstream>
#define inf (1LL<<63)-1
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n,d[505]; long long dp[505][505];
int main()
{ int i,j,x,len;
f>>n;
for(i=0;i<=n;i++)
f>>d[i];
for(i=1;i<=n;i++)
dp[i][i+1]=d[i-1]*d[i]*d[i+1];
for(len=3;len<=n;len++)
for(i=1;i<=n-len+1;i++)
{ j=i+len-1;
dp[i][j]=inf;
for(x=i;x<j;x++)
dp[i][j]=min(dp[i][j],(ll)dp[i][x]+dp[x+1][j]+1LL*d[i-1]*d[x]*d[j]);
}
g<<dp[1][n]<<"\n";
return 0;
}