Pagini recente » Cod sursa (job #3325084) | Cod sursa (job #241130) | Cod sursa (job #1849864) | Cod sursa (job #241239) | Cod sursa (job #3321019)
#include <fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
const int nmax = 500;
const int64_t maxint64_t = (1ll << 60);
int n, a[nmax + 2];
int64_t dp[nmax + 2][nmax + 2];
int64_t costt(int i, int j, int k){
return 1ll * a[i - 1] * a[j] * a[k];
}
int main(){
in>>n;
for(int i = 0; i <= n; i++){
in>>a[i];
}
for(int length = 2; length <= n; length++){
for(int i = 1, j = length; j <= n; i++, j++){
dp[i][j] = maxint64_t;
for(int k = i; k + 1 <= j; k++){
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + costt(i, k, j));
}
}
}
out<<dp[1][n]<<"\n";
return 0;
}