Pagini recente » Cod sursa (job #1220234) | Cod sursa (job #1813491) | Cod sursa (job #2375185) | Cod sursa (job #3278804) | Cod sursa (job #3288988)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int dp[101][101],d[101],n;
int main()
{ int i,j,dig,k;
fin>>n;
for(i=1;i<=n+1;i++)
fin>>d[i];
for(i=1;i<=n;i++)
dp[i][i+1]=d[i]*d[i+1]*d[i+2];
for(dig=3;dig<=n;dig++)
for(i=1,j=dig;j<=n;i++,j++)
{ int vmin=INT_MAX;
for(k=1;k<=j-1;k++)
{
int z=dp[i][k]+dp[k+1][j]+(d[i]*d[k+1]*d[j+1]);
if(z<vmin)
{
vmin=z;
dp[i][j]=z;
dp[j][i]=k;
}
}
}
/*for(i=1;i<=n;i++,cout<<'\n')
for(j=1;j<=n;j++)
cout<<dp[i][j]<<" ";
*/
fout<<dp[1][n];
return 0;
}