Pagini recente » Cod sursa (job #2101913) | Cod sursa (job #2673592) | Cod sursa (job #1207348) | Cod sursa (job #1343280) | Cod sursa (job #3312984)
#include <fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
int n, d[505], m[505][505];
int main(){
in>>n;
for(int i = 0; i <= n; i++){
in>>d[i];
}
for(int i = 1; i <= n; i++)
m[i][i] = 0;
for(int i = 1; i < n; i++)
m[i][i+1] = d[i-1]*d[i]*d[i+1];
for(int p = 2; p <= n-1; p++){
for(int i = 1; i + p <= n; i++){
int mini = 1e9;
for(int k = i; k < i + p; k++){
int nr = m[i][k] + m[k+1][i+p] + d[i-1] * d[k] * d[i+p];
if(nr < mini){
mini = nr;
}
}
m[i][i+p] = mini;
}
}
out<<m[1][n];
return 0;
}