Pagini recente » Cod sursa (job #1090918) | Cod sursa (job #592448) | Cod sursa (job #218050) | Cod sursa (job #742584) | Cod sursa (job #1997772)
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
struct matrice
{
long long n, m;
} v[501];
int n, x;
long long a[501][501];
int main()
{
fin>>n;
fin>>v[1].n;
for(int i = 1; i <= n; i++)
{
fin>>x;
v[i + 1].n = v[i].m = x;
}
for(int len = 2; len <= n; len++)
{
for(int start = 1; start + len - 1 <= n; start++)
{
int stop = start + len - 1;
long long minim = 0x7fffffffffffffff;
for(int k = 1; k < len; k++)
{
long long p1 = a[start][start + k - 1];
long long p2 = a[start + k][stop];
long long p3 = v[start].n * v[start + k - 1].m * v[stop].m;
if(p1 + p2 + p3 < minim) minim = p1 + p2 + p3;
}
a[start][stop] = minim;
}
}
fout<<a[1][n];
return 0;
}