Pagini recente » Cod sursa (job #1490376) | Cod sursa (job #174750) | Cod sursa (job #780879) | Cod sursa (job #1092166) | Cod sursa (job #1024499)
#include <fstream>
#include <algorithm>
#define inf 100000000000000000LL
using namespace std;
unsigned long long a[501][501],d[505];
int n;
ifstream fin("podm.in");
ofstream fout("podm.out");
void citire()
{
int i;
fin>>n;
for(i=0;i<=n;i++)
fin>>d[i];
for(i=1;i<=n;i++)
a[i][i]=0;
for(i=1;i<n;i++)
a[i][i+1]=d[i-1]*d[i]*d[i+1];
}
void par()
{
int i,k,dg;
for(dg=2;dg<n;dg++)
for(i=1;i<=n-dg;i++)
{
a[i][i+dg]=inf;
for(k=i;k<i+dg;k++)
a[i][i+dg]=min(a[i][i+dg],a[i][k]+a[k+1][i+dg]+d[i-1]*d[k]*d[i+dg]);
}
}
int main()
{
citire();
par();
fout<<a[1][n];
fin.close();
fout.close();
return 0;
}