Cod sursa(job #2348175)
Utilizator | Data | 19 februarie 2019 14:37:47 | |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#define inf 20000000000000000
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long n,i,l,j,k,d[505][505],v[505];
int main()
{
fin>>n;
n++;
for(i=1;i<=n;i++)
fin>>v[i];
for(l=3;l<=n;l++){
for(i=1;i+l-1<=n;i++){
j=i+l-1;
d[i][j]=inf;
for(k=i+1;k<j;k++){
d[i][j]=min(d[i][k]+d[k][j]+v[i]*v[j]*v[k],d[i][j]);
}
}
}
fout<<d[1][n];
}