Pagini recente » Cod sursa (job #634476) | Cod sursa (job #389079) | Cod sursa (job #923076) | Cod sursa (job #168339) | Cod sursa (job #1108536)
#include <iostream>
#include <fstream>
using namespace std;
const int Nmax = 502;
int A[Nmax];
int D[Nmax][Nmax];
int N;
void solve()
{
for ( int i = N; i >= 1; i-- )
{
D[i][i] = 0;
if ( i < N )
D[i][i + 1] = A[i - 1] * A[i] * A[i + 1];
for ( int j = i + 2; j <= N; ++j )
{
D[i][j] = 1e9;
for ( int k = i; k <= j; ++k )
{
D[i][j] = min( D[i][j], D[i][k] + D[k + 1][j] + A[i - 1] * A[k] * A[j] );
}
}
}
ofstream g("podm.out");
g << D[1][N];
}
int main()
{
ifstream cin("podm.in");
cin >> N;
for ( int i = 0; i <= N; ++i )
cin >> A[i];
solve();
return 0;
}