Pagini recente » Cod sursa (job #2813700) | Cod sursa (job #2132465) | Cod sursa (job #1647602) | Cod sursa (job #1327808) | Cod sursa (job #717094)
Cod sursa(job #717094)
#include <iostream>
#include <stdio.h>
#define INF 0x3f3f3f
using namespace std;
int n;
long long d[10001],m[501][501];
void citire()
{
freopen("podm.in","r",stdin);
scanf ("%d",&n);
for (int i=0;i<=n;i++)
scanf ("%lld",&d[i]);
for (int i=0;i<=n;i++)
for (int j=0;j<=n;j++)
{
m[i][j]=INF;
if (i==j)
m[i][j]=0;
}
}
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++)
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]);
cout<<m[1][n]<<"\n";
//afis(n,1);
}
int main()
{
citire();
rez();
return 0;
}