Cod sursa(job #2649186)

Utilizator Katherine456719Swan Katherine Katherine456719 Data 13 septembrie 2020 13:52:47
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("fisier.in");

int v[505];
int dp[505][505];

int main() {
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i)
        fin >> v[i];
    for (int i = 0; i <= n; ++i)
        for (int j = 0; j <= n; ++j)
            dp[i][j] = 999999999;
    for (int i = 1; i < n; ++i)
        dp[i][i + 1] = v[i - 1] * v[i] * v[i + 1];
    for (int j = 2; j <= n; ++j)
        for (int i = 1; i <= n; ++i){
            for (int k = i; k <= j - 1; ++k)
                dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + v[i] * v[k] * v[j]);
    cout << dp[1][n];
    return 0;
}