Pagini recente » Cod sursa (job #1267840) | Cod sursa (job #3121453) | Cod sursa (job #2254987) | Cod sursa (job #474017) | Cod sursa (job #3191738)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
const int MAX_N = 502;
long long dp[MAX_N][MAX_N];
long long dims[MAX_N];
const long long INF = LONG_MAX;
int main()
{
int n;
fin >> n;
for (int i = 0; i <= n; i++) {
fin >> dims[i];
}
for (int d = 1; d < n; d++) {
for (int i = 1; i <= n - d; i++) {
int j = i + d;
long long minn = LONG_MAX;
for (int k = i; k < j; k++) {
long long q = dp[i][k] + dp[k + 1][j] + dims[i - 1] * dims[k] * dims[j];
minn = min(minn, q);
}
dp[i][j] = minn;
}
}
// for (int i = 1; i <= n; i++) {
// for (int j = 1; j <= n; j++) {
// fout << setw(5) << dp[i][j] << ' ';
// }
// fout << endl;
// }
fout << dp[1][n];
return 0;
}