Pagini recente » Cod sursa (job #2218910) | Cod sursa (job #1460588) | Cod sursa (job #2589334) | Cod sursa (job #1164606) | Cod sursa (job #701721)
Cod sursa(job #701721)
#include <fstream>
#include <cstdio>
#define NMAx 512
#define oo (1LL<<60)
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;
int n,D[NMAx];
long long M[NMAx][NMAx];
void citire() {
ifstream in("podm.in");
in>>n;
for(int i=0;i<=n;i++)
in>>D[i];
in.close();
}
void afis() {
freopen("podm.out","w",stdout);
printf("%lld",M[1][n]);
fclose(stdout);
}
int main() {
int Dif,i,j,k;
citire();
for(Dif=1;Dif<=n-1;Dif++)
for(i=1;i+Dif<=n;i++) {
j=i+Dif;
M[i][j]=oo;
for(k=i;k<j;k++)
M[i][j]=min(M[i][j],M[i][k]+M[k+1][j]+1LL*D[i-1]*D[k]*D[j]);
}
afis();
return 0;
}