Pagini recente » Cod sursa (job #550957) | Cod sursa (job #2873469) | Cod sursa (job #1173032) | Cod sursa (job #2908178) | Cod sursa (job #1112125)
#include<fstream>
#include<iostream>
#define oo (1LL<<60)
using namespace std;
int N;
long long best[505][505],d[505];
void citire() {
ifstream in("podm.in");
int i;
in>>N;
for(i=0;i<=N;i++)
in>>d[i];
in.close();
}
void solve() {
int i,c,j,k;
for(i=1;i<=N-1;i++)
best[i][i+1]=d[i-1]*d[i]*d[i+1];
for(i=2;i<=N-1;i++)
for(j=1;j<=N-i;j++) {
c=i+j;
best[j][c]=oo;
for(k=j;k<=c-1;k++)
best[j][c]=min(best[j][c],best[j][k]+best[k+1][c]+d[j-1]*d[k]*d[c]);
}
}
void afisare() {
ofstream out("podm.out");
out<<best[1][N];
out.close();
}
int main() {
citire();
solve();
afisare();
return 0;
}