Pagini recente » Cod sursa (job #1888970) | Istoria paginii runda/simulare_oji_09/clasament | Cod sursa (job #2208830) | Istoria paginii runda/oji2014.11-12/clasament | Cod sursa (job #1929907)
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int n,i,j,k;
long long d[505];
long long M[505][505];
long long minim,x,o;
int main()
{
fin>>n;
for(i=0;i<=n;i++)
fin>>d[i];
for(i=1;i<=n-1;i++)
M[i][i+1]=d[i-1]*d[i]*d[i+1];
for(x=2;x<n;x++)
{
for(i=1;i<=n-x;i++)
{
M[i][i+x]=100000000000000000LL;
for(k=i;k<i+x;k++)
{
o=M[i][k]+M[k+1][i+x]+d[i-1]*d[k]*d[i+x];
if(o<M[i][i+x])
M[i][i+x]=o;
}
}
}
fout<< M[1][n] << '\n';
fin.close();
fout.close();
return 0;
}