Pagini recente » simulare_004 | Cod sursa (job #1744042) | Cod sursa (job #936925) | Cod sursa (job #1073995) | Cod sursa (job #941166)
Cod sursa(job #941166)
#include <fstream>
using namespace std;
int main()
{
ifstream fin("podm.in");
ofstream fout("podm.out");
int n;
fin >> n;
int a[n+1];
for (int i = 0; i <= n; ++i)
fin >> a[i];
long long dp[n+1][n+1];
for (int i = 0; i <= n; ++i)
for (int j = 0; j <= n; ++j)
dp[i][j] = 1ll<<60;
for (int i = 0; i < n; ++i)
dp[i][i+1] = 0;
for (int i = n-2; i >= 0; --i)
for (int j = i+2; j <= n; ++j)
for (int k = i+1; k < j; ++k)
dp[i][j] = min(dp[i][j],dp[i][k] + a[i]*a[k]*a[j] + dp[k][j]);
fout << dp[0][n];
return 0;
}