Pagini recente » Cod sursa (job #1833979) | Cod sursa (job #278977) | Cod sursa (job #2445376) | Cod sursa (job #2165556) | Cod sursa (job #654322)
Cod sursa(job #654322)
#include <fstream>
#define LL long long
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
const LL INF = 2e16;
LL dp[512][512] , d[512];
int N;
int main()
{
fin>>N;
for(int i = 0;i<=N;++i)
fin>>d[i];
for(int i = 1;i<=N;++i) dp[i][i] = 0;
for(int i = 1;i<N;++i)
dp[i][i + 1] = d[i-1] * d[i] * d[i + 1];
for(int L = 2;L < N;++L)
for(int i = 1;i<=N - L;++i)
{
int j = i + L;
dp[i][j] = INF;
for(int k = i;k < j;++k)
dp[i][j] = min(dp[i][j],dp[i][k] + dp[k + 1][j] + d[i-1] * d[k] * d[j]);
}
fout<<dp[1][N];
return 0;
}