#include <iostream>
using namespace std;
#include <ctime>
#include <windows.h>
int main()
{
int n;
cout<<"input the n:"<<endl;
cin>>n;
int *p=new int [n+1];
int **m=new int *[n+1];
int **s=new int *[n+1];
for(int i=0;i<=n;i++)
{
m[i]=new int [n+1];
s[i]=new int [n+1];
}
cout<<"intput N*M(n+1):"<<endl;
for(i=0;i<=n;i++)
cin>>p[i];
int t;
if(n==2)
{ t=p[0]*p[1]*p[2];
cout<<t;
}
else
{
for ( i = 1; i <=n; i++) m[i][i] = 0;
for (int r = 2; r <=n; r++)
for (int i = 1; i <=n - r+1; i++)
{
int j=i+r-1;
m[i][j] = m[i+1][j]+ p[i-1]*p[i]*p[j];
s[i][j] = i;
for (int k = i+1; k <j; k++)
{
t = m[i][k] + m[k+1][j] + p[i-1]*p[k]*p[j];
if (t < m[i][j])
{
m[i][j] = t;
s[i][j] = k;
}
}