Pagini recente » Borderou de evaluare (job #2450812) | Cod sursa (job #1541416) | Borderou de evaluare (job #1750497) | Cod sursa (job #1493688) | Cod sursa (job #2297610)
#include <bits/stdc++.h>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long b[505][505],d[505];
int n;
int main()
{
f>>n;
for(int i=0; i<=n; ++i)
f>>d[i];
for(int i=1; i<n; ++i)
b[i][i+1]=d[i-1]*d[i]*d[i+1];
for(int w=2; w<=n-1; ++w)
for(int i=1; i<=n-w; ++i)
{
int j=i+w;
for(int k=i; k<=j-1; ++k)
{
if(k==i)
b[i][j]=b[i][k] + b[k+1][j] + d[i-1] * d[j] * d[k];
else
b[i][j]=min(b[i][j], b[i][k] + b[k+1][j] + d[i-1] * d[j] * d[k]);
}
}
g<<b[1][n];
return 0;
}