Pagini recente » Cod sursa (job #1196693) | Cod sursa (job #3193562) | Cod sursa (job #310842) | Cod sursa (job #2748483) | Cod sursa (job #381115)
Cod sursa(job #381115)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int n, d[505];
long m[505][505];
void citire(){
fin>>n;
for(int i=0;i<=n;i++)
fin>>d[i];
}
void inmultire(){
for(int i=0;i<=n;i++)
for(int j=0;j<=n;j++)
m[i][j]=1000000;
for(int i=1;i<=n;i++)
m[i][i]=0;
for(int i=1;i<=n-1;i++)
m[i][i+1]=d[i-1]*d[i]*d[i+1];
for(int d1=2;d1<=n;d1++)
for(int i=1;i<=n-d1;i++){
int j=i+d1;
for(int k=i;k<j;k++){
long mm=m[i][k]+m[k+1][i+d1]+d[i-1]*d[k]*d[i+d1];
m[i][j]=(m[i][j]<mm)?m[i][j]:mm;
}
}
}
int main(){
citire();
inmultire();
fout<<m[1][n]<<"\n";
return 0;
}