Pagini recente » Cod sursa (job #1948199) | Cod sursa (job #617673) | Cod sursa (job #164863) | Cod sursa (job #1992013) | Cod sursa (job #1390833)
#include <fstream>
using namespace std;
FILE *f=fopen("podm.in","r");
FILE *g=fopen("podm.out","w");
unsigned long long n,a[550],v[550][550];
void read();
void solve();
void write();
int main()
{
read();
solve();
write();
return 0;
}
void read()
{
int i=0;
fscanf(f,"%d",&n);
for (i=1;i<=n+1;i++)
fscanf(f,"%d",&a[i]);
}
void solve()
{
unsigned long long i=0,d=0,j=0,k=0,minim=0;
for (i=1;i<n;i++)
v[i][i+1]=a[i]*a[i+1]*a[i+2];
for (d=2;d<=n;d++)
for (i=1,j=d;j<=n;i++,j++)
{
minim=v[i][i]+v[i+1][j]+a[i]*a[i+1]*a[j+1];
for (k=i;k<j;++k)
if (minim>v[i][k]+v[k+1][j]+a[i]*a[k+1]*a[j+1])
minim=v[i][k]+v[k+1][j]+a[i]*a[k+1]*a[j+1];
v[i][j]=minim;
}
}
void write()
{
fprintf(g,"%lld",v[1][n]);
}