Pagini recente » Cod sursa (job #3302188) | Cod sursa (job #3329216) | Cod sursa (job #3319997) | Cod sursa (job #3324083) | Cod sursa (job #3349164)
#include <fstream>
#define NMAX 505
#define INF (1LL<<60)
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int N;
long long v[NMAX],dp[NMAX][NMAX];
void citire()
{
fin>>N;
N++;
for(int i=1; i<=N; i++)
{
fin>>v[i];
}
}
int main()
{
citire();
for(int i=1; i<=N; i++)
{
for(int j=1; j<=N; j++)
{
dp[i][j]=INF;
}
}
for(int i=1; i<N; i++)
{
dp[i][i+1]=0;
}
for(int l=3; l<=N; l++)
{
for(int i=1; i+l-1<=N; i++)
{
int j=i+l-1;
dp[i][j]=INF;
for(int k=i+1; k<j; k++)
{
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]+v[i]*v[k]*v[j]);
}
}
}
fout<< dp[1][N] << "\n";
return 0;
}