Pagini recente » Cod sursa (job #3230374) | Cod sursa (job #1916155) | Cod sursa (job #2461594) | Cod sursa (job #3222697) | Cod sursa (job #408579)
Cod sursa(job #408579)
#include<fstream>
using namespace std;
#define NMax 10001
#define INF 0x3f3f3f3f
ifstream f("podm.in");
ofstream g("podm.out");
long M[NMax][NMax],d[NMax],n;
void pd()
{
int nr,i,j,k,kmin;
long min;
for(nr=2;nr<=n;nr++)
for(int i=1;i<=n-nr+1;i++)
{j=i+nr-1;
for(k=i,min=INF;k<j;k++)
if(min>M[i][k]+M[k+1][j]+d[i-1]*d[k]*d[j])
{
min=M[i][k]+M[k+1][j]+d[i-1]*d[k]*d[j];
kmin=k;
}
M[i][j]=min;M[j][i]=kmin;
}
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
f>>d[i];
pd();
g<<M[1][n];
return 0;
}