Pagini recente » Cod sursa (job #1527155) | Cod sursa (job #2633863) | Cod sursa (job #2788019) | Cod sursa (job #2922453) | Cod sursa (job #508620)
Cod sursa(job #508620)
#include<cstdio>
const int N=505;
const long long MAX=1<<63;
int n,d[N];
long long a[N][N];
void citire()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;++i)
scanf("%d",&d[i]);
}
void dinamica()
{
long long min;
for (int i=n-1;i>0;--i)
{
for (int j=i+1;j<=n;++j)
{
min=0;
for (int k=i;k<j;++k)
if (a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1]>min)
min=a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1];
a[i][j]=min;
}
}
printf("%lld\n",a[1][n]);
}
int main()
{
citire();
dinamica();
return 0;
}