Pagini recente » Cod sursa (job #2952616) | Cod sursa (job #422137) | Cod sursa (job #3273759) | Cod sursa (job #3217210) | Cod sursa (job #1318151)
#include<fstream>
//#define INF 9223372036854775807LL
#define INF 9223372036854775807LL
using namespace std;
typedef int64_t var;
ifstream fin("podm.in");
ofstream fout("podm.out");
var M[501][501], D[501];
var n;
var m(int i, int j) {
if(i == j) return 0;
if(M[i][j]) return M[i][j];
var MIN = INF;
for(var k=i; k<j; k++) {
MIN = min(MIN, m(i, k) + m(k+1, j) + D[i-1]*D[k]*D[j]);
}
M[i][j] = MIN;
return M[i][j];
}
int main() {
fin>>n;
//fout<<INF;
for(var i=0; i<=n; i++) {
fin>>D[i];
}
for(var i=1; i<=n; i++) {
M[i][i+1] = D[i-1]*D[i]*D[i+1];
}
fout<<m(1, n);
return 0;
}