Cod sursa(job #2546128)
| Utilizator | Data | 13 februarie 2020 20:40:27 | |
|---|---|---|---|
| Problema | Parantezare optima de matrici | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
#define dim 501
#define inf 200000000000000
using namespace std;
long long d[dim][dim], v[dim], l, n, i, st, dr;
int main ()
{
ifstream fin ("podm.in");
ofstream fout ("podm.out");
fin>>n;
n++;
for (i=1; i<=n; i++)
fin>>v[i];
for (l=3; l<=n; l++)
{
for (st=1; st<=n-l+1; st++)
{
dr=l+st-1;
d[st][dr]=inf;
for (i=st+1; i<dr; i++)
d[st][dr]=min(d[st][dr], d[i][dr]+d[st][i]+v[st]*v[dr]*v[i]);
}
}
fout<<d[1][n];
}
