Pagini recente » Cod sursa (job #609532) | Cod sursa (job #962336) | Cod sursa (job #1953553) | Cod sursa (job #1681097) | Cod sursa (job #384469)
Cod sursa(job #384469)
#include <vector>
#include <fstream>
#include <iterator>
#define NMax 510
#define inf 0x3f3f3f3f
/*
*
*/
using namespace std;
typedef unsigned long long int llu;
vector<llu> v;
llu m[NMax][NMax];
int main()
{unsigned int n, i, j, k;
ifstream in("podm.in");
in>>n;
copy( istream_iterator<int>(in), istream_iterator<int>(), back_inserter(v) );
for( i=n-1; i > 0; --i )
{
m[i][i+1]=v[i-1]*v[i]*v[i+1];
for( j=i+2; j <= n; ++j )
{m[i][j]=inf;
for( k=i; k < j; ++k )
m[i][j]=min( m[i][j], m[i][k]+m[k+1][j]+ v[i-1]*v[j]*v[k] );
}
}
ofstream out("podm.out");
out<<m[1][n];
return 0;
}