Cod sursa(job #2294316)
| Utilizator | Data | 2 decembrie 2018 11:16:51 | |
|---|---|---|---|
| Problema | Parantezare optima de matrici | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#define inf 100000000000000ll
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int i,j,k,l,n;
long long d[505];
long long a[505][505];
int main()
{
fin>>n;
for(i=1;i<=n+1;i++)
fin>>d[i];
for(l=2;l<=n;l++)
for(i=1;i<=n-l+1;i++)
{
j=i+l-1;a[i][j]=inf;
for(k=i;k<=j-1;k++)
{
a[i][j]=min(a[i][j],d[i]*d[j+1]*d[k+1]+a[i][k]+a[k+1][j]);
}
}
fout<<a[1][n];
return '\0';
}
