Pagini recente » Cod sursa (job #1562731) | Cod sursa (job #497428) | Rating Cam Himes (rumcat) | Cod sursa (job #1341072) | Cod sursa (job #1526263)
#include <cstdio>
using namespace std;
FILE *in,*out;
long long v[502];
long long m[502][502],min;
int main()
{
in=fopen("podm.in","r");
out=fopen("podm.out","w");
short int n,i,j,k,t;
long long x;
fscanf(in,"%hd",&n);
++n;
for(i=1;i<=n;++i)fscanf(in,"%lld",&v[i]);
for(i=1;i<n;++i)m[i][i+1]=v[i]*v[i+1]*v[i+2];
for(t=2;t<n;++t)for(i=1;i<=n;++i)if(i+t<=n)
{
j=i+t;
min=10000000000000000;
for(k=i;k<j;++k)
{
x=m[i][k]+m[k+1][j]+v[i]*v[k+1]*v[j+1];
if(min>x)min=x;
}
m[i][j]=min;
}
fprintf(out,"%lld\n",m[1][n-1]);
fclose(in);fclose(out);
return 0;
}