Pagini recente » Cod sursa (job #1848640) | Cod sursa (job #1692607) | Cod sursa (job #2670982) | Cod sursa (job #2907296) | Cod sursa (job #536112)
Cod sursa(job #536112)
#include <iostream>
#include <fstream>
#define MAXN 610
#define INF 2000000000000000LL
using namespace std;
long long minn(long long a, long long b){
if (a<b) return a;
else return b;
}
ifstream fin("podm.in");
ofstream fout("podm.out");
int n,i,j,k,d[MAXN];
long long din[MAXN][MAXN];
int main()
{
fin>>n;
for(i=0;i<=n;i++) {
fin>>d[i];
}
for(i=0;i<=n;i++) {
din[i][i]=0;
}
for(i=1;i<n;i++) {
din[i][i+1]=d[i-1]*d[i]*d[i+1];
}
for(k=2;k<n;k++) {
for(i=1;i<=n-k;i++) {
din[i][i+k]=INF;
for(j=0;j<=k;j++) {
din[i][i+k]=minn(din[i][i+k],din[i][i+j]+d[i-1]*d[i+j]*d[i+k]+din[i+j+1][i+k]);
}
}
}
fout<<din[1][n];
fout.close();
return 0;
}