Pagini recente » Cod sursa (job #1410926) | Cod sursa (job #3273168) | Cod sursa (job #36993) | Cod sursa (job #131183) | Cod sursa (job #1325644)
#include <fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
typedef long long I64;
const I64 INF = 2500000000000;
const int NMAX = 500;
I64 d[NMAX+2][NMAX+1], a[NMAX+2];
int N;
int main()
{
in >> N;
for( int i = 0; i <= N; ++i ) {
in >> a[i];
d[i][i] = 0;
}
for( int l = 2; l <= N; ++l ) {
for( int i = 1; i <= N-l+1; ++i ) {
I64 j = i+l-1, myn = INF;
for( int k = i; k < j; ++k )
myn = min( myn , d[i][k]+d[k+1][j] + a[i-1]*a[k]*a[j] );
d[i][j] = myn;
}
}
out << d[1][N] << '\n';
return 0;
}