Pagini recente » Cod sursa (job #1552651) | Cod sursa (job #2500629) | Cod sursa (job #1755628) | Cod sursa (job #1793577) | Cod sursa (job #543954)
Cod sursa(job #543954)
#include <iostream>
#include <fstream>
using namespace std;
#define MAX 505
int d[MAX],n;
long long m[MAX][MAX];
int main(){
ifstream in("podm.in");
ofstream out("podm.out");
in>>n;
for( int i = 0 ; i <= n ; i++)
in>>d[i];
for( int i =1 ; i <= n ; i++)
m[i][i+1] = d[i-1] * d[i] * d[i+1];
for( int l = 3 ; l < n ; l ++ ) {
for( int i = 1 ; i <= n-l ; i++){
int j = i+l;
m[i][j] = m[i][i] + m[i+1][j] + d[i-1]*d[i]*d[j];
for( int k = i +1; k < j ; k++) {
m[i][j] = min(m[i][j],m[i][k] + m[k+1][j] + d[i-1]*d[k]*d[j]);
}
}
out << m[1][n];
out.close();
return 0 ;
}
}