Pagini recente » Rezultatele filtrării | Cod sursa (job #2125580) | Cod sursa (job #1412004) | Cod sursa (job #2122059) | Cod sursa (job #1412649)
#include <cstdio>
#define nmax 505
using namespace std;
const long long inf=1000000000000000000;
long long n,a[nmax][nmax],p[nmax];
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for(long long i=0;i<=n;i++)
scanf("%d",&p[i]);
for(long long l=2;l<=n;l++)
for(long long i=1;i<=n-l+1;i++)
{
long long j=i+l-1;
a[i][j]=inf;
for(long long k=i;k<j;k++)
{
long long q=a[i][k]+a[k+1][j]+p[i-1]*p[k]*p[j];
if(q<a[i][j])
a[i][j]=q;
}
}
printf("%lld\n",a[1][n]);
return 0;
}