206192026-01-07 20:59:16hunzombiFestés (50 pont)cpp17Elfogadva 50/50426ms6592 KiB
#include <bits/stdc++.h>
using namespace std;

const long long INF = 4e18;

int row_cost[4];
int col_cost[100000][4][4];

int main() {

    int n, m;
    cin >> n >> m;

    for (int i=0; i < n; i++) {
        cin >> row_cost[i];
    }

    for (int i=0; i < m; i++) {
        for (int l = 0; l < n; l++) {
            for (int r = l; r < n; r++) {
                cin >> col_cost[i][l][r];
            }
        }
    }

    int full_mask = (1 << n) - 1;
    long long answer = INF;

    for (int mask = 0; mask <= full_mask; mask++) {
        long long cost = 0;
        for (int row = 0; row < n; row++) {
            if (mask & (1 << row)) {
                cost += row_cost[row];
            }
        }

        for(int col = 0; col < m; col++) {
            vector<long long> dp(n + 1, INF);
            dp[0] = 0;

            for (int i = 1; i <= n; i++) {
                if (mask & (1 << (i - 1))) {
                    dp[i] = dp[i - 1];
                } else {
                    for (int l = 0; l <= i - 1; l++) {
                        for (int r = l; r < n; r++) {
                            if (i - 1 >= l && i - 1 <= r) {
                                dp[i] = min(dp[i], dp[l] + col_cost[col][l][r]);
                            }
                        }
                    }
                }
            }
            cost += dp[n];
        }
        answer = min(answer, cost);
    }

    cout << answer << '\n';

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/2234ms6448 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva3/34ms464 KiB
6Elfogadva2/235ms884 KiB
7Elfogadva2/2386ms6556 KiB
8Elfogadva2/2375ms6492 KiB
9Elfogadva2/2381ms6452 KiB
10Elfogadva2/2379ms6452 KiB
11Elfogadva2/2379ms6452 KiB
12Elfogadva2/2347ms5940 KiB
13Elfogadva2/2370ms5940 KiB
14Elfogadva2/2111ms6452 KiB
15Elfogadva3/3112ms6452 KiB
16Elfogadva3/3204ms6452 KiB
17Elfogadva2/2206ms6540 KiB
18Elfogadva3/3202ms6452 KiB
19Elfogadva2/2328ms6024 KiB
20Elfogadva2/2349ms6268 KiB
21Elfogadva2/2368ms6440 KiB
22Elfogadva2/2370ms6452 KiB
23Elfogadva2/2372ms6452 KiB
24Elfogadva2/2363ms6452 KiB
25Elfogadva2/2426ms6592 KiB