Pagini recente » Cod sursa (job #2307239) | Cod sursa (job #1546285) | Cod sursa (job #143551) | Cod sursa (job #1376650) | Cod sursa (job #2762279)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("podm.in");
ofstream fout ("podm.out");
long long n, D[505], dp[505][505];
int main()
{
fin>>n;
for(int i=0; i<=n; i++) fin>>D[i];
int col=2;
while(col<=n)
{
int i=1, j=col;
while(i<=n && j<=n)
{
for(int k=i; k<=(j-1); k++)
if(dp[i][j]==0)
dp[i][j]=dp[i][k]+dp[k+1][j]+D[i-1]*D[k]*D[j];
else
dp[i][j]=min(dp[i][j], dp[i][k]+dp[k+1][j]+D[i-1]*D[k]*D[j]);
i++; j++;
}
col++;
}
fout<<dp[1][n];
return 0;
}