Pagini recente » Cod sursa (job #67805) | Cod sursa (job #1112050) | Cod sursa (job #3287517) | Cod sursa (job #567384) | Cod sursa (job #2131253)
#include <cstdio>
#include <climits>
#define inf (1LL<<62)
using namespace std;
const int NMAX = 510;
long long dimensiuni[NMAX];
long long nrinmultiri[NMAX][NMAX];
int n;
void calculare()
{
for(int par = 1 ; par <= n ; par++)
{
for(int i = 1 ; i + par <= n; i++)
{
int j = i + par;
nrinmultiri[i][j] = inf;
for(int k = i ; k < j; k++)
{
long long aux = dimensiuni[i-1]*dimensiuni[k]*dimensiuni[j] + nrinmultiri[i][k] + nrinmultiri[k+1][j];
if(nrinmultiri[i][j] > aux)
nrinmultiri[i][j] = aux;
}
}
}
}
void read()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for(int i = 0 ; i <= n ; i++)
scanf("%lld ",&dimensiuni[i]);
}
int main()
{
read();
calculare();
printf("%lld",nrinmultiri[1][n]);
return 0;
}