Pagini recente » Cod sursa (job #151601) | Cod sursa (job #2670142) | Cod sursa (job #2988987) | Cod sursa (job #471795) | Cod sursa (job #2246480)
#include <fstream>
#define MAX 510
#define MAX1 500000000000001
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long int pmax[MAX][MAX];
int lg[MAX];
int taietura;
int n;
long long int maxim=MAX1;
int p;
int main()
{int i, j, k, ni;
fin>>n;
for(i = 1; i <= n + 1; i++)
fin>>lg[i];
ni=n;
for(i=1;i<n;i++, ni--)
for(k=1, j=i+1;k<ni;k++, j++)
{
maxim=MAX1;
for(taietura = k; taietura <= j-1; taietura++)
{
p = pmax[k][taietura] + pmax[taietura+1][j] + lg[k]*lg[taietura+1]*lg[j+1];
if(p<=maxim) maxim=p;
}
pmax[k][j] = maxim;
}
fout<<pmax[1][n];
return 0;
}