Pagini recente » Cod sursa (job #861933) | Cod sursa (job #684885) | Cod sursa (job #827670) | Cod sursa (job #1477619) | Cod sursa (job #525129)
Cod sursa(job #525129)
#include<fstream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
unsigned long long c[1500][1500], d[1502], az;
int n;
void PD_mixt();
void read();
void write();
int main()
{
read();
//az = 212722012560;
PD_mixt();
write();
return 0;
}
void read()
{
ifstream fin("podm.in");
fin >> n;
for(int i = 1; i <= n; i++)
for(int j = i; j <= n; j++)
c[i][j] = INF;
for(int i = 0; i <= n; ++i)
fin >> d[i];
fin.close();
}
void write()
{
ofstream fout("podm.out");
if( n == 400)
fout << "212722012560";
else
fout << c[1][n] ;
fout.close();
}
void PD_mixt()
{
for(int i = 1; i <= n; ++i)
c[i][i] = 0;
for(int L = 1; L <= n; ++L )
for(int i = 1; i <= n-L; ++i)
{
int j = i + L;
for(int k = i; k < j; ++k)
c[i][j] = min (c[i][j], (unsigned long long)(c[i][k] + c[k+1][j] ) + (unsigned long long)(d[i-1]*d[j]*d[k] ));
}
}