Pagini recente » Cod sursa (job #1536724) | Cod sursa (job #2767991) | Cod sursa (job #3159087) | Cod sursa (job #745153) | Cod sursa (job #698136)
Cod sursa(job #698136)
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long n,d[512],a[512][512];
inline long long minim(long long a, long long b)
{
return (a>b)?b:a;
}
int main()
{
int i,j,k;
f>>n;
for(i=0;i<=n;++i) f>>d[i];
for(i=1;i<n;++i) a[i][i+1]=d[i-1]*d[i]*d[i+1];
for(k=2;k<n;++k)
for(i=1;i+k<=n;++i)
{
a[i][i+k]=a[i][i]+a[i+1][i+k]+d[i-1]*d[i]*d[i+k];
for(j=1;j<k;++j) a[i][i+k]=minim(a[i][i+k],a[i][i+j]+a[i+j+1][i+k]+d[i-1]*d[i+j]*d[i+k]);
}
g<<a[1][n]<<'\n';
f.close(); g.close();
return 0;
}