Pagini recente » Cod sursa (job #1670346) | Cod sursa (job #1002737) | Cod sursa (job #2756314) | Cod sursa (job #2887861) | Cod sursa (job #1643778)
# include <fstream>
using namespace std;
ifstream fin ("podm.in");
ofstream fout ("podm.out");
long long DP[505][505];
int main()
{
int n;
long long d[505];
fin>>n;
for (int i=1; i<=n+1; i++)
fin>>d[i];
for (int i=1; i<=n-1; i++)
DP[i][i+1]=d[i]*d[i+1]*d[i+2];
for (int k=2; k<=n-1; k++)
for (int i=1; i<=n-k; i++)
{
long long Min=1LL<<62;
for (int j=i; j<=i+k-1; j++)
{
Min=min(Min, DP[i][j]+DP[j+1][i+k]+d[i]*d[j+1]*d[i+k+1]);
}
DP[i][i+k]=Min;
}
fout<<DP[1][n];
return 0;
}