Pagini recente » Cod sursa (job #2433960) | Cod sursa (job #1079359) | Cod sursa (job #784196) | Cod sursa (job #1791178) | Cod sursa (job #551450)
Cod sursa(job #551450)
#include<cstdio>
#include<string>
#define infile "podm.in"
#define outfile "podm.out"
#define L 502
#define INF (1LL << 60)
using namespace std;
void citeste();
void rezolva();
void afiseaza();
long long m[L][L];
int p[L];
int n;
void citeste()
{
freopen(infile,"r",stdin);
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%d",&p[i]);
fclose(stdin);
}
void rezolva()
{
memset(m,0,sizeof(m));
for(int l=2;l<=n;l++)
for(int i=1;i<=n-l+1;i++)
{
int j=i+l-1;
m[i][j]=INF;
for(int k=i;k<=j-1;k++)
{
long long q;
q = m[i][k] + m[k+1][j] + p[i-1]*p[k]*p[j];
if(q<m[i][j]) m[i][j]=q;
}
}
}
void afiseaza()
{
freopen(outfile,"w",stdout);
printf("%lld",m[1][n]);
fclose(stdout);
}
int main()
{
citeste();
rezolva();
afiseaza();
return 0;
}