Pagini recente » Cod sursa (job #1358823) | Cod sursa (job #1705478) | Cod sursa (job #3161436) | Cod sursa (job #2889160) | Cod sursa (job #525798)
Cod sursa(job #525798)
#include<fstream>
using namespace std;
#define INF 100000000000000000LL
int main(void)
{
int n, i, j, k, l;
long long int **M, q, d[501];
ifstream f("podm.in");
ofstream g("podm.out");
f >> n;
for (i=0;i<=n;i++)
{
f>>d[i];
}
f.close();
M = new long long int* [n+1];
for (i=1;i<=n;i++)
{
M[i] = new long long int [n+1];
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;
}
}
}
}
g<<M[1][n]<<'\n';
g.close();
for (i=1;i<=n;i++)
{
delete[] M[i];
}
delete[] M;
return 0;
}