Cod sursa(job #3178514)
| Utilizator | Data | 1 decembrie 2023 20:31:51 | |
|---|---|---|---|
| Problema | Parantezare optima de matrici | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#define INF 10000000000000000
using namespace std;
ifstream fin ("podm.in");
ofstream fout("podm.out");
long long n,V[502],D[502][502],i,j,k,l;
int main()
{
fin>>n;
n++;
for(i=1;i<=n;i++)
fin>>V[i];
for(i=1;i<n;i++)
D[i][i+1] = 0;
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][j],D[i][k]+D[k][j]+V[i]*V[k]*V[j]);
}
fout<<D[1][n];
return 0;
}
