Pagini recente » Cod sursa (job #1344767) | Cod sursa (job #398183) | Cod sursa (job #276096) | Cod sursa (job #2653740) | Cod sursa (job #3039761)
/// Preset de infoarena
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
const int maxN = 505;
int n, dp[maxN][maxN];
pair <int, int> v[maxN];
int main()
{
fin >> n;
for(int i = 1; i <= n + 1; i++)
{
fin >> v[i].first;
v[i - 1].second = v[i].first;
}
for(int d = 1; d <= n; d++)
{
for(int i = 1; i + d <= n; i++)
{
int j = i + d;
if(d == 1)
dp[i][j] = v[i].first * v[i].second * v[j].second;
else
{
dp[i][j] = 0x3f3f3f3f;
for(int k = i; k <= j - 1; k++)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + v[i].first * v[k].second * v[j].second);
}
}
}
fout << dp[1][n];
return 0;
}