Cod sursa(job #1109843)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 17 februarie 2014 17:33:28
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
#define INF 10000000000000000LL
 
 
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
 
long long a[505][505], d[505];
int i,j,n,k,D;
long long min(long long a, long long b){
       return a<b ? a:b;
}
int main(){
    
    
    f>>n; 
    for (i=0; i<=n; ++i)
        f>>d[i];
     
    for (i=1; i<n; ++i)
        a[i][i+1]=d[i-1]*d[i]*d[i+1];
     
    for (D=2; D<n; ++D)
        for (i=1; i<=n-D; ++i){
            j=i+D; 
            a[i][j]=INF;
            for (k=i; k<j; ++k)
                a[i][j]=min(a[i][j],a[i][k]+a[k+1][j]+d[i-1]*d[k]*d[j]);
        }
     
    g<<a[1][n];
  return(0);
}