Pagini recente » Cod sursa (job #2249857) | Cod sursa (job #840765) | Cod sursa (job #779337) | Cod sursa (job #2721602) | Cod sursa (job #1417642)
#include <iostream>
#include <fstream>
#define LL long long
using namespace std;
LL N,a[540],dp[510][510];
int main(){
ifstream fin("podm.in");
ofstream fout("podm.out");
fin >> N;
int i,len,j,k;
for (i=1; i<=N+1; i++) fin >> a[i];
for (i=1; i<N; i++) dp[i][i+1]=a[i]*a[i+1]*a[i+2];
for (len=3; len<=N; len++)
for (i=1; i+len-1<=N; i++){
j=i+len-1;
dp[i][j]=(1LL<<60);
for (k=i; k<j; k++)
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+a[i]*a[k+1]*a[j+1]);
}
fout << dp[1][N] << "\n";
return 0;
}