Pagini recente » Cod sursa (job #1268073) | Cod sursa (job #2602761) | Cod sursa (job #2138316) | Cod sursa (job #565122) | Cod sursa (job #2662498)
#define NMAX 505
#include <fstream>
#include <climits>
#include <algorithm>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n, d[NMAX];
int dp[NMAX][NMAX];
void read()
{
f>>n;
for(int i = 0; i <= n; ++i)
f>>d[i];
}
void pd()
{
for(int d_p= 0; d_p <= n-1; ++d_p)
{
for(int i = 1; i <= n; ++i)
{
int j = i + d_p;
int vmin = INT_MAX;
for(int k = i; k <= j-1; ++k)
vmin = min(vmin, dp[i][k] + dp[k+1][j] + d[i-1]*d[k]*d[j]);
if(vmin == INT_MAX)
vmin = 0;
dp[i][j] = vmin;
}
}
g<<dp[1][n];
}
int main()
{
read();
pd();
return 0;
}