Pagini recente » Cod sursa (job #449822) | Cod sursa (job #3218143) | Cod sursa (job #1216274) | Cod sursa (job #1691833) | Cod sursa (job #676741)
Cod sursa(job #676741)
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n,p[501],m[10001][10001],i,j,mm,q;
int minim(int i,int j)
{
int kkk;
mm=m[i][j-1]+(p[i-1]*p[i]*p[i+1]);
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];
}
int 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';
return 0;
}