Pagini recente » Cod sursa (job #3286584) | Monitorul de evaluare | Cod sursa (job #3281029) | Cod sursa (job #3271574) | Cod sursa (job #370631)
Cod sursa(job #370631)
#include <stdio.h>
#define INF 987654321
#define N 502
int mat[N][N];//incepe la N si are lungime N
int a[N];
int main ()
{int i,j,k,n,min,t;
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n+1;i++)
scanf("%d",&a[i]);
for (i=1;i<n;i++)
{mat[i][2]=a[i]*a[i+1]*a[i+2];
mat[i][1]=0;
}
for (i=3;i<=n;i++)//lungimea produsului
{for (j=1;j<=n-i+1;j++)//de unde incepe
{for (min=INF,k=1;k<i;k++) //-- ----
{if(min>(t=mat[j][k]+mat[j+k][i-k]+a[j]*a[j+k]*a[j+i]))
{min=t;
}
}
mat[j][i]=min;
}
}
printf("%d",mat[1][n]);
return 0;
}