Pagini recente » Cod sursa (job #710429) | Cod sursa (job #1204475) | Cod sursa (job #948177) | Cod sursa (job #948978) | Cod sursa (job #787346)
Cod sursa(job #787346)
#include <fstream>
#include <algorithm>
using namespace std;
int v[505];
int minim=1<<30;
int 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]*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;
}