Pagini recente » Cod sursa (job #2338456) | Cod sursa (job #2695623) | Cod sursa (job #2351484) | Cod sursa (job #2335002) | Cod sursa (job #1032887)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long m[503];
long long a[502][502];
int n;
void R()
{
int i;
fin>>n;
for(i=0; i<=n; i++)
{
fin>>m[i];
//cout<<m[i]<<" ";
}
//cout<<"\n";
}
void Ini()
{
int i;
for(i=1; i<n; i++)
{
a[i][i+1]=m[i-1]*m[i]*m[i+1];
}
}
void Rez()
{
long long pas,i,j,x,minim,k;
for(pas=2; pas<=n; pas++)
for(i=1; i<=n-pas+1; i++)
{
j=i+pas-1;
minim=999999999;
for(k=i; k<=j-1; k++)
{
x=a[i][k]+a[k+1][j]+m[i-1]*m[k]*m[j];
if( x< minim)
minim=x;
}
a[i][j]=minim;
}
}
int main()
{
R();
Ini();
Rez();
fout<<a[1][n];
return 0;
}