Pagini recente » Cod sursa (job #2554948) | Cod sursa (job #1724020) | Cod sursa (job #1030537) | Cod sursa (job #40680) | Cod sursa (job #1791339)
#include <iostream>
#include <cstdio>
using namespace std;
long long n;
long long v[510], mat[510][510];
long long suma;
void read()
{
long long x;
scanf("%lld", &n);
for(long long i=0; i<=n; i++)
{
scanf("%lld", &x);
v[i] = x;
}
}
void sol()
{
long long l = 1;
long long mini;
while(l<n)
{
for(long long i=1; i<=n-l; i++)
{
long long j=i+l;
for(long long k=i; k<j; k++)
{
if(k==i)
mini = (mat[i][k] + mat[k+1][j] + v[i-1] * v[k] * v[j]);
else if(mini>(mat[i][k] + mat[k+1][j] + v[i-1] * v[k] * v[j]))
mini = (mat[i][k] + mat[k+1][j] + v[i-1] * v[k] * v[j]);
}
mat[i][j] = mini;
}
l++;
}
cout<<mat[1][n];
}
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
read();
sol();
}