Pagini recente » Cod sursa (job #145067) | Cod sursa (job #1664821) | Cod sursa (job #2402512) | Cod sursa (job #682117) | Cod sursa (job #2783651)
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int m[501][501];
int main()
{
int n,x[502];
fin>>n;
for(int i=1;i<=n+1;i++)
{
fin>>x[i];
}
for(int i=1;i<n;i++)
{
m[i][i+1]=x[i]*x[i+1]*x[i+2];
}
for(int k=2;k<n;k++)
{
for(int i=1;i+k<=n;i++)
{
m[i][i+k]=m[i+1][i+k]+(x[i]*x[i+1]*x[i+k+1]);
for(int c=i+1;c<i+k;c++)
{
m[i][i+k]=min(m[i][i+k],m[i][c]+m[c+1][i+k]+x[i]*x[c+1]*x[i+k+1]);
}
}
}
fout<<m[1][n];
fin.close();
fout.close();
return 0;
}