Pagini recente » Cod sursa (job #109838) | Cod sursa (job #1848941) | Cod sursa (job #2279326) | Cod sursa (job #1955067) | Cod sursa (job #1997780)
#include <fstream>
const long long inf = 1LL<<62;
#define dim 505
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long a[dim][dim];
int main()
{
int n;
f >> n;
long long v[dim];
for(int i = 0; i <= n; i++){
f >> v[i];
}
for(int i = 1; i <= n; i++){
a[i][i] = 0;
}
for(int i = 1; i < n; i++){
a[i][i+1] = v[i-1]*v[i]*v[i+1];
}
for(int lung = 2; lung < n; lung++){
for(int i = 1; i <= n-lung; i++){
int j = i+lung;
a[i][j] = inf;
for(int k = i; k < j; k++){
a[i][j] = min(a[i][j] , a[i][k] + a[k+1][j] + v[i-1]*v[k]*v[j]);
}
}
}
g << a[1][n];
return 0;
}