Pagini recente » Cod sursa (job #39868) | Cod sursa (job #3258979) | Cod sursa (job #2237247) | Cod sursa (job #74969) | Cod sursa (job #380168)
Cod sursa(job #380168)
#include<stdio.h>
#define N 505
int d[N];
int n;
long long a[N][N];
inline void citire()
{
scanf("%d",&n);
for(int i=0; i<=n; ++i)
scanf("%d",&d[i]);
}
inline long long minim(long long x,long long y)
{
if(x<y)
return x;
return y;
}
inline void rezolva()
{
int t;
//long long aux;
for(int i=2; i<=n; ++i)
{
for(int j=1; i+j-1<=n; ++j)
{
t=i+j-1;
a[j][t]=a[j+1][t]+(long long)d[j-1]*d[j]*d[t];
for(int w=j+1; w<t; ++w)
{
a[j][t]=minim(a[j][t],a[j][w]+a[w+1][t]+(long long)d[j-1]*d[w]*d[t]);
//aux=a[j][w]+a[w+1][t]+(long long)d[j-1]*d[w]*d[t];
//if(aux<a[j][t])
// a[j][t]=aux;
}
}
}
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
rezolva();
printf("%lld\n",a[1][n]);
return 0;
}