Pagini recente » Cod sursa (job #3142121) | Cod sursa (job #2391359) | Cod sursa (job #2503120) | Cod sursa (job #559228) | Cod sursa (job #380924)
Cod sursa(job #380924)
#include<cstdio>
#define N 502
#define minn(a,b) ((a>b)? (b): (a))
const int INF=(1<<31)-1;
long long a[N][N];
int v[N],n;
void citire()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for (int i=1; i<=n+1; ++i)
scanf("%d",&v[i]);
}
void dinamica()
{
for (int d=1; d<=n; ++d)
{
for (int i=1;i<=n; ++i)
{
int j=i+d;
//if (j>n) continue;
a[i][j]=INF;
for (int k=i ; k<j; ++k)
a[i][j]=minn(a[i][j],a[i][k]+a[k+1][j]+(long long)v[i]*v[k+1]*v[j+1]);
}
}
printf("%lld",a[1][n]);
}
int main()
{
citire();
dinamica();
return 0;
}