Pagini recente » Cod sursa (job #2408315) | Cod sursa (job #3238033) | Cod sursa (job #2963462) | Cod sursa (job #2747236) | Cod sursa (job #3179581)
#include <fstream>
#define NMAX 505
#define INF (1<<62)+7
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int N,d[NMAX];
long long dp[NMAX][NMAX];
int main()
{
int i,j,lg,k;
fin>>N;
for(i=0; i<=N; i++)
fin>>d[i];
///dp[i][i]=0;
for(i=1; i<N; i++)
dp[i][i+1]=d[i-1]*d[i]*d[i+1];
for(lg=3; lg<=N; lg++)
for(i=1; i<=N-lg+1; i++)
{
j=i+lg-1;
dp[i][j]=INF;
for(k=i; k<j; k++)
dp[i][j]=min(dp[i][j],
dp[i][k]+dp[k+1][j]+d[i-1]*d[k]*d[j]);
}
fout<<dp[1][N];
return 0;
}