Pagini recente » Cod sursa (job #1038327) | Cod sursa (job #3194537) | Cod sursa (job #1119880) | Cod sursa (job #1454786) | Cod sursa (job #969617)
Cod sursa(job #969617)
#include <fstream>
#define oo 1<<30
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int N,D[503],M[503][503];
void Read()
{
int i;
f>>N;
for(i=0;i<=N;i++)
f>>D[i];
}
void Solve()
{
int i,j,k,step;
for(i=1;i<=N-1;i++)
M[i][i+1]=D[i-1]*D[i]*D[i+1];
for(step=2;step<N;step++)
{
for(i=1;i<=N-step;i++)
{
j=i+step;
M[i][j]=oo;
for(k=i;k<j;k++)
M[i][j]=min(M[i][j],M[i][k]+M[k+1][j]+D[i-1]*D[k]*D[j]);
}
}
}
void Print()
{
g<<M[1][N]<<'\n';
}
int main()
{
Read();
Solve();
Print();
return 0;
}