Pagini recente » Cod sursa (job #3143343) | Cod sursa (job #2217334) | Monitorul de evaluare | Cod sursa (job #1464497) | Cod sursa (job #592931)
Cod sursa(job #592931)
#include <fstream>
using namespace std;
const int N=505;
const long long inf=(long long)1<<60;
long long v[N][N],a[N],n;
ifstream in("podm.in");
ofstream out("podm.out");
inline long long min(long long a,long long b)
{
return a<b ? a : b;
}
int main()
{
int i,j,k,d;
in>>n;
for (i=0;i<=n;i++)
{
in>>a[i];
for (j=0;j<=n;j++)
v[i][j]=inf;
v[i][i]=0;
}
for (d=1;d<n;d++)
for (j=d+1;j<=n;j++)
{
i=j-d;
for (k=i;k<j;k++)
v[i][j]=min(v[i][j],v[i][k]+v[k+1][j]+a[i-1]*a[k]*a[j]);
}
out<<v[1][n]<<"\n";
return 0;
}