Pagini recente » Cod sursa (job #674092) | Cod sursa (job #2478374) | Cod sursa (job #2721965) | Cod sursa (job #324225) | Cod sursa (job #525135)
Cod sursa(job #525135)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
#define DIM 501
#define INF 0x3f3f3f3f
void Read();
void Write();
void PD_mix();
int d[DIM], n;
unsigned long long c[DIM][DIM];
int main()
{
Read();
PD_mix();
Write();
fin.close();
fout.close();
return 0;
}
void Read()
{
fin >> n;
for ( int i = 0; i <= n; ++i )
fin >> d[i];
for ( int i = 0; i <= n; ++i )
for ( int j = 0; j <= n; ++j )
c[i][j] = INF;
}
void PD_mix()
{
for ( int i = 1; i <= n; ++i )
c[i][i] = 0;
unsigned long long minim = INF, j;
for ( int l = 1; l <= n; ++l )
{
for ( int i = 1; i <= n-l; ++i )
{
minim = INF;
j = i+l;
for ( int k = i; k <= j; ++k )
minim = min ( minim, c[i][k] + c[k+1][j] + d[i-1]*d[j]*d[k] );
c[i][j] = minim;
}
}
}
void Write()
{
fout << c[1][n];
}