Cod sursa(job #574685)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 7 aprilie 2011 14:04:12
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
using namespace std;
#include<fstream>
long long min(long long x,long long y)
{if(x>y) return y;return x;}
short d[550];
long long m[510][510];
int main()
{int i,j,k,n;
ifstream in("podm.in");
in>>n;
for(i=1;i<=n+1;i++)
	in>>d[i];
for(i=1;i<n;i++) 
	for(j=1;j<=n-i;j++)
	{m[j][j+i]=1LL<<62;
	for(k=j;k<j+i;k++)
		m[j][j+i]=min(m[j][j+i],m[j][k]+m[k+1][j+i]+1LL*d[j]*d[k+1]*d[i+j+1]);
	}
ofstream out("podm.out");
out<<m[1][n]<<'\n';
out.close();
return 0;
}