Pagini recente » Cod sursa (job #482611) | Borderou de evaluare (job #1207029) | Cod sursa (job #3176458) | Cod sursa (job #1064511) | Cod sursa (job #1032882)
#include <fstream>
#include <algorithm>
using namespace std;
int N,d[505],c[505][505];
inline void Read()
{
int i;
ifstream fin("podm.in");
fin>>N;
for(i=0;i<=N;i++)
fin>>d[i];
fin.close();
}
inline void Solve()
{
int i,j,k,x,pas;
for(i=1;i<N;i++)
c[i][i+1]=d[i-1]*d[i]*d[i+1];
for(pas = 2;pas<=N;pas++)
for(i=1;i<=N - pas + 1;i++)
{
j= i+pas-1;
x=1000000000;
for(k=i;k<j;k++)
x=min(x,c[i][k]+c[k+1][j]+d[i-1]*d[k]*d[j]);
c[i][j]=x;
}
ofstream fout("podm.out");
fout<<c[1][N]<<"\n";
fout.close();
}
int main()
{
Read();
Solve();
return 0;
}