Pagini recente » Istoria paginii runda/pressure1 | Cod sursa (job #2424720) | Istoria paginii utilizator/kiddu_girl | Cod sursa (job #2193847) | Cod sursa (job #650721)
Cod sursa(job #650721)
#include<stdio.h>
long long m[505][505];
long long v[505];
int n;
int citeste_dimensiuni()
{
FILE *in;
in=fopen("podm.in","r");
if(!in)
{
printf("EROARE");
return 0;
}
int i;
fscanf(in,"%lld",&n);
for(i=0;i<=n;i++)
fscanf(in,"%lld",&v[i]);
fclose(in);
}
void inmultire_matrici()
{
int i;
for(i=1;i<n;i++)
m[i][i+1]=v[i-1]*v[i]*v[i+1];
}
void minim()
{
int i,j,k,l;
for(i=2;i<=n;i++)
for(j=1;j+i<=n;j++)
{
k=j+i;
m[j][k]=(long long)999999999*999999999;
for(l=j;l<=k;l++)
if(m[j][k]>m[j][l]+m[l+1][k] + v[j-1]*v[l]*v[k])
m[j][k]=m[j][l]+m[l+1][k] + v[j-1]*v[l]*v[k];
}
}
int main()
{
FILE *out;
out=fopen("podm.out","w");
citeste_dimensiuni();
inmultire_matrici();
minim();
fprintf(out,"%lld",m[1][n]);
fclose(out);
return 0;
}