Pagini recente » Cod sursa (job #1383475) | Cod sursa (job #2819537) | Cod sursa (job #363871) | Cod sursa (job #1028166) | Cod sursa (job #1424015)
#include<fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long a[502],d[502][502];
int min(int x,int y)
{
if(x<y)
return x;
else
return y;
}
void calc(int i,int j)
{
int k;
long long mink=99999999999999999LL;
for(k=i;k<j;k++)
mink=min(d[i][k]+d[k+1][j]+a[i]*a[k+1]*a[j+1],mink);
d[i][j] = mink;
}
int main()
{
int n,i,j;
f>>n;
for(i=1;i<=n+1;i++)
f>>a[i];
for(i=1;i<=n;i++)
d[i][i]=0;
for(i=n-1;i>=1;i--)
for(j=i+1;j<=n;j++)
calc(i,j);
g<<d[1][n];
return 0;
}