Pagini recente » Cod sursa (job #982235) | Cod sursa (job #811588) | Cod sursa (job #2575461)
#include <bits/stdc++.h>
#define FILE_NAME "podm"
#define fast ios_base :: sync_with_stdio(0); cin.tie(0);
#pragma GCC optimize("O3")
#define NMAX 500 + 50
using namespace std;
ifstream f(FILE_NAME ".in");
ofstream g(FILE_NAME ".out");
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pi;
typedef pair<ll,ll> llp;
typedef pair<ld,ld> pct;
const ll inf = 1LL << 60;
const ll mod = 1e9 + 7;
const ld eps = 1e-9;
void add(ll &a , ll b)
{
a += b;
a %= mod;
}
void sub(ll &a, ll b)
{
a = (a - b + mod) % mod;
}
ll d[NMAX], n, pd[NMAX][NMAX];
int main()
{
f >> n;
for(int i = 0; i <= n; ++i)
f >> d[i];
for(int i = 1; i < n; ++i)
pd[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
for(int len = 2; len < n; ++len)
for(int i = 1; i <= n - len; ++i)
{
pd[i][i + len] = inf;
for(int j = i; j < i + len; ++j)
pd[i][i + len] = min(pd[i][i + len], pd[i][j] + pd[j + 1][i + len] + d[i - 1] * d[j] * d[i + len] );
}
g << pd[1][n];
f.close();
g.close();
return 0;
}