Pagini recente » Cod sursa (job #2708473) | Cod sursa (job #2383000) | Cod sursa (job #540209) | Cod sursa (job #568201) | Cod sursa (job #370103)
Cod sursa(job #370103)
#include <algorithm>
using namespace std;
#define ll long long
#define INF (1ll<<60)
#define DIM 505
bool viz[DIM][DIM];
ll best[DIM][DIM];
int d[DIM];
int n;
void read ()
{
int i;
scanf ("%d",&n);
for (i=0; i<=n; ++i)
scanf ("%d",&d[i]);
}
void solve ()
{
int i,j,k,dst;
for (i=1; i<n; ++i)
best[i][i+1]=(ll)d[i-1]*d[i]*d[i+1];
for (dst=2; dst<n; ++dst)
for (i=1; i<=n-dst; ++i)
{
best[i][j=i+dst]=INF;
for (k=i; k<j; ++k)
best[i][j]=min (best[i][j],best[i][k]+best[k+1][j]+(ll)d[i-1]*d[k]*d[j]);
}
printf ("%lld",best[1][n]);
}
int main ()
{
freopen ("podm.in","r",stdin);
freopen ("podm.out","w",stdout);
read ();
solve ();
return 0;
}