Pagini recente » Cod sursa (job #2866459) | Cod sursa (job #2320142) | Cod sursa (job #1770880) | Cod sursa (job #67424) | Cod sursa (job #495520)
Cod sursa(job #495520)
# include <cstdio>
typedef long long ll ;
const char *FIN = "podm.in", *FOU = "podm.out" ;
const int MAX = 505 ;
ll best[MAX][MAX] ;
int d[MAX] ;
int N ;
inline ll min ( ll A, ll B ) {
return ( A < B ? A : B ) ;
}
int main ( void ) {
freopen ( FIN, "r", stdin ) ;
scanf ( "%d", &N ) ;
for ( int i = 0; i <= N; ++i ) {
scanf ( "%d", d + i ) ;
}
for ( int i = 1; i < N; ++i ) {
best[i][i + 1] = 1LL * d[i - 1] * d[i] * d[i + 1] ;
}
for ( int ax = 2; ax < N; ++ax ) {
for ( int i = 1; i <= N - ax; ++i ) {
int j = ax + i ;
best[i][j] = 100000000000000LL ;
for ( int k = i; k < j; ++k ) {
best[i][j] = min ( best[i][j], best[i][k] + best[k + 1][j] + 1LL * d[i - 1] * d[k] * d[j] ) ;
}
}
}
fprintf ( fopen ( FOU, "w" ) , "%lld", best[1][N] ) ;
}