Pagini recente » Cod sursa (job #2635627) | Cod sursa (job #1596401) | Cod sursa (job #2951600) | Cod sursa (job #2680483) | Cod sursa (job #518392)
Cod sursa(job #518392)
#include<stdio.h>
#include<limits.h>
unsigned long long a[501][501],m;
int dim[501],i,n,j,d,k,v[501];
int main()
{freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d\n",&n);
for(i=0;i<=n;i++)
scanf("%d",&dim[i]);
for(i=1;i<=n;i++)
a[i][i]=0;
for(i=1;i<=n-1;i++)
a[i][i+1]=dim[i-1]*dim[i]*dim[i+1];
for(d=2;d<n;d++)
{for(i=1;i<=n-d;i++)
{a[i][i+d]=LONG_LONG_MAX;
for(k=i;k<i+d;k++)
{m=a[i][k]+a[k+1][i+d]+dim[i-1]*dim[k]*dim[i+d];
if(a[i][i+d]>m)
a[i][i+d]=m;}}}
printf("%llu\n",a[1][n]);
fclose(stdin);
fclose(stdout);
return 0;}