Pagini recente » Cod sursa (job #2125145) | Cod sursa (job #2854752) | Cod sursa (job #263514) | Monitorul de evaluare | Cod sursa (job #2565484)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int N;
long long dp[505][505], v[505];
int main(){
fin >> N; N++;
for( int i = 1; i <= N; i++ )
fin >> v[i];
for( int i = 1; i <= N; i++ ){
dp[i][i] = 0;
dp[i][i + 1] = 0;
}
for( int lg = 3; lg <= N; lg++ ){
for( int i = 1; i + lg - 1 <= N; i++ ){
int j = i + lg - 1;
dp[i][j] = (1LL<<62);
for( int k = i + 1; k < j; k++ )
dp[i][j] = min( dp[i][j], v[i] * v[k] * v[j] + dp[i][k] + dp[k][j] );
}
}
fout << dp[1][N] << "\n";
return 0;
}