Pagini recente » Cod sursa (job #321099) | Cod sursa (job #1341141) | Cod sursa (job #1000867) | Cod sursa (job #2403504) | Cod sursa (job #697021)
Cod sursa(job #697021)
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long n,p[505],m[10005][10005],i,j,mm,q;
long long minim(long long i,long long j)
{
int kkk;
mm= m[i][i] + m[i+1][j] + p[i-1]*p[i]*p[j];
for(kkk=i;kkk<j;kkk++)
{
q = m[i][kkk] + m[kkk+1][j] + p[i-1]*p[kkk]*p[j];
if(q<mm)
mm=q;
}
return mm;
}
int main()
{
f>>n;
for(i=0;i<=n;i++)
f>>p[i];
for(i=1;i<=n;i++)
{
m[i][i] = 0;
m[i][i+1] = p[i-1]*p[i]*p[i+1];
}
long long k;
for(k=2;k<n;k++)
for(i=1;i<=n;i++)
if(i+k<=n)
m[i][i+k] = minim(i,i+k);
g<<m[1][n]<<'\n';
/* for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
g<<m[i][j]<<' ';
g<<'\n';
}*/
return 0;
}