Pagini recente » Cod sursa (job #1361340) | dedicatie | Cod sursa (job #2352444) | sigma boy | Cod sursa (job #1083090)
#include <fstream>
#define Nmax 505
#define oo 1000000000
using namespace std;
ifstream eu("podm.in");
ofstream tu("podm.out");
long long N,D[Nmax],DP[Nmax][Nmax];
void Read()
{
eu>>N;
for(int i=0;i<=N;i++)
eu>>D[i];
}
void Solve()
{
for(int i=1;i<N;i++)
DP[i][i+1]=D[i-1]*D[i]*D[i+1];
for(int dif=2;dif<N;dif++)
{
for(int i=1;i<=N-dif;i++)
{
int j=i+dif;
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()
{
tu<<DP[1][N]<<"\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}