Pagini recente » Cod sursa (job #2356945) | Cod sursa (job #1520503) | Cod sursa (job #432589) | Cod sursa (job #1050845) | Cod sursa (job #1997769)
#include <fstream>
#include <climits>
#define inf 100000000000000000LL
#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;
int 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;
}