Pagini recente » Cod sursa (job #305539) | Cod sursa (job #2332196) | Cod sursa (job #183086) | Cod sursa (job #1949248) | Cod sursa (job #523326)
Cod sursa(job #523326)
#include <fstream>
using namespace std;
const unsigned long long INF=(1LL<<60);
ifstream f("podm.in");
ofstream g("podm.out");
unsigned long long N,d[512],bst[512][512];
int i,j,k;
int main()
{
f>>N;
for( i = 0 ; i <= N; ++i ){
f>>d[i];
}
f.close();
for ( i = 1 ; i < N ; ++i ){
bst[i][i+1] = d[i-1] * d[i] * d[i+1];
}
for ( k = 2 ; k <= N ; ++k ){
for ( i = 1 ; i + k <= N ; ++i ){
bst[i][i+k]=INF;
for (j = i; j < i + k ; ++j ){
bst[i][i+k]=min( bst[i][i+k] , bst[i][j] + bst[j+1][i+k] + d[i-1]*d[i+k]*d[j]);
}
}
}
g<<bst[1][N];
g.close();
return 0;
}