Pagini recente » Cod sursa (job #3033188) | Cod sursa (job #3181716) | Cod sursa (job #2248508) | Cod sursa (job #127236) | Cod sursa (job #717135)
Cod sursa(job #717135)
#include <iostream>
#include <stdio.h>
#define INF 0x3f3f3f3f3f3f
using namespace std;
int n;
long long d[501],m[501][501];
void citire()
{
freopen("podm.in","r",stdin);
scanf ("%d",&n);
for (int i=0;i<=n;i++)
scanf ("%lld",&d[i]);
}
/*void afis(int i,int j)
{
if (i==j)
{
cout<<(char)(i+64);
}
else
{
cout<<"(";
afis(m[i][j],j);
afis(i,m[i][j]+1);
cout<<")";
}
}
*/
void rez()
{
freopen ("podm.out","w",stdout);
for (int y=1;y<=n;y++)
for (int i=1,j=y+i;i<=n-y;j++,i++)
{
m[i][j]=INF;
for (int k=i;k<j;k++)
m[i][j]=min(m[i][j], m[i][k]+m[k+1][j]+d[i-1]*d[k]*d[j]);
}
printf("%lld",m[1][n]);
//afis(n,1);
}
int main()
{
citire();
rez();
return 0;
}