Pagini recente » Cod sursa (job #2323534) | Cod sursa (job #2395629) | Cod sursa (job #1641536) | Cod sursa (job #257886) | Cod sursa (job #1024495)
#include <cstdio>
#include <algorithm>
#define inf 1<<30
using namespace std;
unsigned long long a[501][501],d[505];
int n;
void citire()
{
int i;
scanf("%d",&n);
for(i=0;i<=n;i++)
scanf("%d",&d[i]);
for(i=1;i<=n;i++)
{
a[i][i]=0;
a[i][i+1]=d[i-1]*d[i]*d[i+1];
}
}
void par()
{
int i,k,dg;
for(dg=2;dg<n;dg++)
for(i=1;i<=n-dg;i++)
{
a[i][i+dg]=inf;
for(k=i;k<i+dg;k++)
a[i][i+dg]=min(a[i][i+dg],a[i][k]+a[k+1][i+dg]+d[i-1]*d[k]*d[i+dg]);
}
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
par();
printf("%d",a[1][n]);
return 0;
}