Pagini recente » Cod sursa (job #445766) | Cod sursa (job #1753171) | Cod sursa (job #1650671) | Cod sursa (job #2827372) | Cod sursa (job #498650)
Cod sursa(job #498650)
#include <stdio.h>
#define nmax 500
#define inf 100000000000000000LL
using namespace std;
int n,p[nmax];
long long m[nmax][nmax];
int main(void)
{
FILE *fin,*fout;
int i,j,k,l;
long long q;
fin=fopen("podm.in","r");
fscanf(fin,"%d",&n);
for(i=0;i<=n;i++) fscanf(fin,"%d",p+i);
fclose(fin);
for(i=1;i<=n;i++) m[i][i]=0;
for(l=2;l<=n;l++)
for(i=1;i<=n-l+1;i++)
{ j=i+l-1;
m[i][j]=inf;
for(k=i;k<j;k++)
{ q=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j];
if(q<m[i][j]) m[i][j]=q;
}
}
fout=fopen("podm.out","w");
fprintf(fout,"%lld",m[1][n]);
fclose(fout);
return 0;
}