Pagini recente » Cod sursa (job #834748) | Cod sursa (job #1328636) | Cod sursa (job #1013775) | Cod sursa (job #2840972) | Cod sursa (job #990897)
Cod sursa(job #990897)
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n, i, j, l, a[510], x;
long long d[510][510];
const int INF=(1<<30);
int minim(int a, int b){
if(a<b)
return a;
return b;
}
int main(){
f>>n;
for(i=1; i<=n+1; i++)
f>>a[i];
for(l=1; l<n; l++)
for(i=1; i+l<=n; i++)
{
j=i+l;
d[i][j]=INF;
for(x=i; x<j; x++)
d[i][j]=minim(d[i][j], d[i][x]+d[x+1][j]+a[i]*a[x+1]*a[j+1]);
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
g<<d[i][j]<<' ';
g<<"\n";
}
g<<d[1][n]<<"\n";
return 0;
}