Cod sursa(job #648367)

Utilizator CalliinPaun Calin Calliin Data 13 decembrie 2011 11:51:32
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream> 
 
using namespace std; 
 
 
#define NM 512 
#define INF 1000000000000LL 
 
 
ifstream in("podm.in"); 
ofstream out("podm.out"); 
 
 
long long o[NM][NM],D[NM],n; 
 
 
int main(){ 
    
int i,j,poz,k,d; 
    
in>>n; 
    
for(i=1;i<=n+1;i++) 
        
in>>D[i]; 
    
for(d=1;d<=n;d++) 
        
for(poz=1;poz<=n-d;poz++){ 
            
i=poz; 
            
j=d+poz; 
            
o[i][j]=INF; 
            
long long min; 
            
for(k=i;k<j;k++){ 
                
min=o[i][k]+o[k+1][j]+D[i]*D[k+1]*D[j+1]; 
                
if(min<o[i][j]) 
                    
o[i][j]=min; 
            
} 
        
} 
    
out<<o[1][n]; 
    
return 0; 
}