Pagini recente » Cod sursa (job #313210) | Cod sursa (job #1088207) | Cod sursa (job #1864509) | Cod sursa (job #2460710) | Cod sursa (job #1001616)
#include <fstream>
using namespace std;
#define lint long long int
lint minim(lint a,lint b)
{
if(a<b)
return a;
return b;
}
#define inf 500000000000000ll
int main()
{
ifstream cin("podm.in");
ofstream cout("podm.out");
lint d[505],din[505][505],n;
lint x[505];
lint y[505];
cin>>n;
int i;
for(i=0;i<=n;i++)
{
cin>>d[i];
y[i]=d[i];
x[i+1]=d[i];
}
int k,p;
for(k=1;k<=(n-1);k++)
{
for(i=1;(i+k)<=n;i++)
{
din[i][i+k]=inf;
for(p=i;p<(i+k);p++)
din[i][i+k]=minim(din[i][i+k],din[i][p]+din[p+1][i+k]+x[i]*x[p+1]*y[i+k]);
}
}
cout<<din[1][n]<<'\n';
cin.close();
cout.close();
return 0;
}