Pagini recente » Cod sursa (job #87995) | Cod sursa (job #1203366) | Cod sursa (job #1028796) | Cod sursa (job #597089) | Cod sursa (job #787348)
Cod sursa(job #787348)
#include <fstream>
#include <algorithm>
using namespace std;
int v[505];
long long minim=1LL<<55;
long long m[505][505];
int fct(int i,int j)
{
if(i==j-1)
return 0;
if(i==j-2)
return v[i]*v[i+1]*v[j];
if(m[i][j]==0)//daca nu l-am calculat
{
m[i][j]=1<<30;
for(int k=i+1;k<j;k++)
{
m[i][j]=min(m[i][j], fct(i,k)+fct(k,j)+v[i]*1LL*v[k]*v[j] );
}
}
return m[i][j];
}
int main()
{
int n;
ifstream f;
ofstream g;
f.open("podm.in");
g.open("podm.out");
f>>n;
for(int i=1;i<=n+1;i++)
f>>v[i];
g<<fct(1,n+1);
return 0;
}