Pagini recente » Cod sursa (job #2862377) | Cod sursa (job #25911) | Cod sursa (job #2586180) | Cod sursa (job #1786122) | Cod sursa (job #416423)
Cod sursa(job #416423)
#include <fstream>
using namespace std;
ifstream FIn("podm.in");
ofstream FOut("podm.out");
const long long MULT=100000000000000LL;
const int NMax=1<<10;
long long N,PD[NMax][NMax],D[NMax];
inline long long MIN(long long a,long long b){
return a<b?a:b;
}
void IN(),OUT(),EXE();
int main(){EXE();return 0;}
void EXE(){
IN();
for(int i=1;i<N;PD[i][i]=0,PD[i][i+1]=D[i]*D[i+1]*D[i+2],++i);
for(int i=2;i<N;++i){
for(int j=1;j<=N-i;++j){
PD[j][j+i]=MULT;
for(int k=j,minim;k<=i+j-1;++k){
minim=PD[j][k]+PD[k+1][i+j]+D[j]*D[k+1]*D[i+j+1];
PD[j][j+i]=MIN(minim,PD[j][j+i]);
}
}
}
OUT();
}
void IN(){
FIn>>N;
for(int i=1;i<=N+1;FIn>>D[i++]);
}
void OUT(){
FOut<<PD[1][N];
}