Pagini recente » Cod sursa (job #1080271) | Cod sursa (job #435858) | Cod sursa (job #849043) | Cod sursa (job #2977656) | Cod sursa (job #1255377)
#include <fstream>
#define NMax 505
#define oo 1<<30
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int N;
long long D[NMax],DP[NMax][NMax];
void Read()
{
fin>>N;
for(int i=0 ; i<=N; i++)
fin>>D[i];
}
void Solve()
{
for(int step = 1; step < N; step++)
for(int i=1; i<= N-step; i++)
{
int j = i + step;
DP[i][j]=oo;
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]);
}
}
void Print()
{
fout<<DP[1][N]<<"\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}