Pagini recente » Cod sursa (job #1059900) | Cod sursa (job #580337) | Cod sursa (job #1359201) | Cod sursa (job #2466505) | Cod sursa (job #525761)
Cod sursa(job #525761)
#include <cstdio>
#include <climits>
using namespace std;
#define NMAX 500
#define INF 100000000000000000LL
int main(void)
{
int n, i, j, k, l, q;
int d[NMAX+1];
long long M[NMAX+1][NMAX+1];
freopen("podm.in","r",stdin);
scanf("%d",&n);
for (i=0;i<=n;++i)
{
scanf("%d",&d[i]);
M[i][i] = 0;
}
for (l=2;l<=n;++l)
{
for (i=1;i<=n-l+1;++i)
{
j = i+l-1;
M[i][j] = INF;
for (k=i;k<j;++k)
{
q = M[i][k]+M[k+1][j]+d[i-1]*d[k]*d[j];
if (q < M[i][j])
{
M[i][j] = q;
}
}
}
}
freopen("podm.out","w",stdout);
printf("%lld\n",M[1][n]);
return 0;
}