Cod sursa(job #2182678)
Utilizator | Data | 22 martie 2018 16:15:40 | |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
using namespace std;
ifstream f ("podm.in");
ofstream g ("podm.out");
long long n,a[550],mat[550][550];
int main()
{
f>>n;
for(int i=0;i<=n;++i){
f>>a[i];
}
for(int k=2;k<=n;++k){
for(int i=1;i<=n-k+1;++i){
int j=i+k-1;
mat[i][j]=99999999999999999;
for(int l=i;l<=j;++l){
mat[i][j]=min(mat[i][j],mat[i][l]+mat[l+1][j]+a[i-1]*a[j]*a[l]);
}
}
}
g<<mat[1][n];
}