Pagini recente » Cod sursa (job #1749251) | Cod sursa (job #1269484) | Cod sursa (job #145747) | Cod sursa (job #3237584) | Cod sursa (job #543964)
Cod sursa(job #543964)
#include <iostream>
#include <fstream>
using namespace std;
#define MAX 505
#define INF 100000000000000LL
long long d[MAX];int 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 = 2 ; l <= n - 1 ; l ++ )
for( int i = 1 ; i <= n-l ; i++){
int j = i+l;
//m[i][j] = m[i+1][j] + d[i-1]*d[i]*d[j];
m[i][j] = INF;
for( int k = i; k <= j-1 ; 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 ;
}