Pagini recente » Cod sursa (job #2674198) | Cod sursa (job #1283641) | Cod sursa (job #2260725) | Cod sursa (job #1030637) | Cod sursa (job #2246507)
#include <fstream>
#define MAX 1000
#define MAX1 500000000000001
#define MAX2 1000000000000
using namespace std;
ifstream fin("par.in");
ofstream fout("par.out");
long long int pmax[MAX][MAX];
int lg[MAX];
int taietura;
int n;
long long int maxim=MAX1;
long long int p=MAX2;
int main()
{int i, j, k, ni;
fin>>n;
for(i = 1; i <= n + 1; i++)
fin>>lg[i];
p=(10000*10000);//*10000;
p*=10000;
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 = lg[k] * lg[taietura+1];
p *= lg[j+1];
p += pmax[k][taietura] + pmax[taietura+1][j];
if(p<=maxim) maxim=p;
}
pmax[k][j] = maxim;
}
fout<<pmax[1][n];
return 0;
}