Pagini recente » Cod sursa (job #2556976) | Cod sursa (job #2534089) | Cod sursa (job #301247) | Cod sursa (job #2793558) | Cod sursa (job #985261)
Cod sursa(job #985261)
#include <fstream>
#define maxn 502
#define inf 1<<30
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int v[maxn],m[maxn][maxn];
int n,minval,val;
int main()
{
fin>>n;
for (int i=1; i<=n+1; ++i) fin>>v[i];
for (int i=1; i<=n; ++i) m[i][i] = 0;
for (int i=1; i<n; ++i) m[i][i+1] = v[i]*v[i+1]*v[i+2];
for (int d=2; d<n; ++d)
{
for (int i=1; i+d<=n; ++i)
{
minval=inf;
for (int k=i; k<i+d; ++k)
{
val = m[i][k]+m[k+1][i+d]+v[i]*v[k+1]*v[i+d+1];
if (val < minval) minval = val;
}
m[i][i+d]=minval;
}
}
fout<<m[1][n];
}