Pagini recente » Cod sursa (job #581582) | Cod sursa (job #679379) | Cod sursa (job #2508804) | Cod sursa (job #1324214) | Cod sursa (job #1941960)
#include<bits/stdc++.h>
#define oo 0x3f3f3f3f
#define ll long long
using namespace std;
//variables
const int N_MAX = 502;
long long arr[N_MAX], n, mat[N_MAX][N_MAX];
//--end variables
void read();
void solve();
void print();
int main()
{
read(); solve(); print();
return 0;
}
void read()
{
ifstream f("podm.in");
f >> n;
for(int i = 0; i <= n; i ++)
f >> arr[i];
}
void solve()
{
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= n; j ++)
{
if( i > j ) mat[i][j] = -1;
mat[i][i] = 0;
}
ll a, b;
for(int step = 1; step <= n; step ++)
{
a = 1;
b = step + 1;
while( b <= n && a < n )
{
ll minim = oo;
for(int k = a; k < b; k ++)
minim = min( minim, mat[a][k] + mat[k+1][b] + arr[a-1] * arr[k] * arr[b] );
mat[a][b] = minim;
a ++; b ++;
}
}
}
void print()
{
ofstream g("podm.out");
g << mat[1][n];
g.close();
}