Cod sursa(job #812624)
Utilizator | Stoica Andrei Florian andrei_stoica | Data | 14 noiembrie 2012 09:08:35 |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include<fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
long long m, mat[502][502],d[502];
const long long inf=1LL<<62;
int main()
{
int n,i,j,k;
in>>n;
for(i=0;i<=n;i++)in>>d[i];
for(i=n;i>0;i--)
for(j=i+1;j<=n;j++)
{
m=inf;
for(k=i;k<j;k++)m=min(m, mat[i][k]+mat[k+1][j]+d[i-1]*d[k]*d[j]);
mat[i][j]=m;
}
out<<mat[1][n];
}