Pagini recente » Cod sursa (job #2959769) | Cod sursa (job #2489370) | Cod sursa (job #371253) | Cod sursa (job #2298470) | Cod sursa (job #2497289)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long dp[200][200];
int n;
long long d[200];
int main()
{
int i , dif, k ,x , j ;
long long s, ans = 0;
fin >> n;
for(i = 0; i <= n ; i ++)
fin >> d[i];
for(i = 1; i < n ;i ++)
dp[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
for(dif = 2; dif < n ; dif ++)
for(i = 1; i <= n - dif; i++)
{
j = i + dif;
ans = 1LL<<59;
for(k = i; k <= j - 1; k ++)
{
s = (dp[i][k] + dp[k + 1][j] + d[i - 1] * d[k] * d[j]);
ans = min(s, ans);
}
dp[i][j] = ans;
}
fout << dp[1][n];
fin.close();
fout.close();
return 0;
}