Pagini recente » Cod sursa (job #2316504) | Cod sursa (job #2444533) | Cod sursa (job #1984592) | Cod sursa (job #2284956) | Cod sursa (job #2664764)
#include <cstdio>
#define nMax 1<<9
using namespace std;
int n,v[nMax];
long long int sol[nMax][nMax];
long long int min(long long int x,long long int y) {
return y+(x<y)*(x-y);
}
void read() {
int i;
scanf("%d",&n);
for(i=0;i<=n;++i) {
scanf("%d",&v[i]);
}
}
void solve() {
int i,j,k;
for(i=1;i<n;++i) {
for(j=0;j<n-i;++j) {
sol[j][j+i]=sol[j][j]+v[j]*v[j+1]*v[j+i+1]+sol[j+1][j+i];
for(k=1;k<i;++k) {
sol[j][j+i]=min(sol[j][j+i],sol[j][j+k]+v[j]*v[j+k+1]*v[j+i+1]+sol[j+k+1][j+i]);
}
}
}
}
int main() {
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
read();
solve();
printf("%lld",sol[0][n-1]);
return 0;
}