Pagini recente » Cod sursa (job #499811) | Cod sursa (job #1024899) | Cod sursa (job #359150) | Cod sursa (job #149916) | Cod sursa (job #532677)
Cod sursa(job #532677)
#include <stdio.h>
#include <algorithm>
using namespace std;
long long n;
long long d[600];
long long m[600][600];
void citire()
{
scanf("%lld",&n);
for(long long i=0;i<=n;i++)
{
scanf("%lld",&d[i]);
}
}
void recursiv(long long i, long long j)
{
if(i==j)
{
printf("A%lld ",i);
return;
}
printf("(");
recursiv(i,m[j][i]);
recursiv(m[j][i]+1,j);
printf(")");
}
int main()
{
freopen("podm.in","r",stdin);
//freopen("podm.out","w",stout);
citire();
for(long long i=2;i<=n;i++)
{
for(long long j=i,k=1;j<=n;j++,k++)
{
long long x=1999999;
long long X;
for(long long I=k;I<j;I++)
{
long long y=m[k][I]+m[I+1][j]+d[k-1]*d[I]*d[j];
if(x>y)
{
x=y;
X=I;
}
}
m[j][k]=X;
m[k][j]=x;
}
}
printf("%lld\n",m[1][n]);
// recursiv(1,n);
return 0;
}