Pagini recente » Cod sursa (job #1372367) | Cod sursa (job #2835449) | Cod sursa (job #2673541) | Cod sursa (job #1340002) | Cod sursa (job #965953)
Cod sursa(job #965953)
#include<cstdio>
#include<algorithm>
using namespace std;
const int NMAX = 505;
const long long INF = 1LL<<62;
int N,i,j,l,k;
long long DP[NMAX][NMAX],D[NMAX];
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&N);
for(i=0;i<=N;i++) scanf("%lld",&D[i]);
for(i=1;i<=N;i++) for(j=1;j<=N;j++) if(i==j) DP[i][j]=0; else DP[i][j]=INF;
for(l=2;l<=N;l++)
for(i=1,j=l;j<=N;i++,j++)
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]);
printf("%lld\n",DP[1][N]);
return 0;
}