Pagini recente » Cod sursa (job #424127) | Cod sursa (job #2695712) | Cod sursa (job #796027)
Cod sursa(job #796027)
#include <stdio.h>
#define NMAX 505
#define ll long long
#define INF (1LL<<62)
int n,A[NMAX];
ll best[NMAX][NMAX];
inline ll min(ll x,ll y)
{
return x<y ? x : y;
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
int i,j,k,st,dr;
for (i=1; i<=n+1; i++)
scanf("%d",&A[i]);
for (i=2; i<=n; i++)
for (j=1; j<=n-i+1; j++)
{
st=j; dr=j+i-1;
best[st][dr]=INF;
for (k=st; k<dr; k++)
best[st][dr]=min(best[st][dr],best[st][k]+best[k+1][dr]+(ll)A[st]*A[k+1]*A[dr+1]);
}
printf("%lld\n",best[1][n]);
return 0;
}