Pagini recente » Cod sursa (job #1242623) | Cod sursa (job #3139723) | Cod sursa (job #909648) | Cod sursa (job #1973922) | Cod sursa (job #727598)
Cod sursa(job #727598)
#include<stdio.h>
FILE*f=fopen("podm.in","r");
FILE*g=fopen("podm.out","w");
long long n,v[502];
long long m[502][502];
long long sol(int st,int dr)
{
if(m[st][dr]||st==dr)
return m[st][dr];
else
{
m[st][dr]=sol(st,st)+sol(st+1,dr)+v[st-1]*v[st]*v[dr];
for(int i=st+1;i<dr;++i)
{
long long x=sol(st,i)+sol(i+1,dr)+v[st-1]*v[i]*v[dr];
if(x<m[st][dr])
m[st][dr]=x;
}
}
return m[st][dr];
}
int main()
{
fscanf(f,"%lld",&n);
for(int i=0;i<=n;++i)
fscanf(f,"%lld",&v[i]);
fprintf(g,"%lld",sol(1,n));
fclose(g);
fclose(f);
return 0;
}