Pagini recente » Cod sursa (job #3203100) | Cod sursa (job #2422824) | Cod sursa (job #3290830) | Cod sursa (job #2910529) | Cod sursa (job #2506066)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long matrix[510][510] = {0};
long long row[510] = {0};
long long n = 0;
long long maxi = 9999999999999;
long long x;
void solve(long long nr);
void read()
{
f >> n;
for(int i = 0; i <= n; i++)
f >> row[i];
}
void solve(long long n)
{
for(int i = 1; i < n; i++)
for(int j = 1; j <= n- i; j++)
{
x = maxi;
for(int p = j; p + 1 <= i + j;p++)
if(x > matrix[j][p] + matrix[p + 1][i + j] + row[j - 1] * row[p] * row[i + j])
x = matrix[j][p] + matrix[p + 1][i + j] + row[j - 1] * row[p] * row[i + j];
matrix[j][i + j] = x;
}
}
void show()
{
g << matrix[1][n];
}
int main()
{
read();
solve(n);
show();
}