Mai intai trebuie sa te autentifici.
Cod sursa(job #1473356)
Utilizator | Data | 19 august 2015 08:46:18 | |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
#define inf 100000000LL
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long n,i,a[502],bst[501][501],k,j,w;
int main()
{
f>>n;
for(i=0;i<=n;i++)
f>>a[i];
for(i=1;i<=n-1;i++)
bst[i][i+1]=a[i-1]*a[i]*a[i+1];
for(w=2;w<=n-1;w++)
for(i=1;i<=n-w;i++)
{
j=i+w;
bst[i][j]=inf;
for(k=1;k<=j-1;k++)
bst[i][j]=min(bst[i][j],bst[i][k]+a[i-1]*a[k]*a[j]+bst[k+1][j]);
}
g<<bst[1][n];
return 0;
}