126122024-12-26 20:32:18BucsMateFestés (50 pont)cpp17Elfogadva 50/50418ms19940 KiB
#include <iostream>
#include <climits>

using namespace std;

const long long INF = LLONG_MAX;

long long calc_col(int N, long long col[5][5], int mask)
{
    long long dp[5] = {0, INF, INF, INF, INF};
    for(int i = 1; i <= N; i++){
        if(mask & (1 << (i-1))){
            dp[i] = dp[i-1];
        }
        for(int j = 0; j < i; j++){
            for(int k = 0; k <= j; k++){
                dp[i] = min(dp[i], dp[j] + col[k][i-1]);
            }
        }
    }
    return dp[N];
}

int main()
{
    int N, M;
    cin >> N >> M;
    long long row[5];
    for(int i = 0; i < N; i++){
        cin >> row[i];
    }
    long long col[100001][5][5];
    for(int i = 0; i < M; i++){
        for(int j = 0; j < N; j++){
            for(int k = j; k < N; k++){
                cin >> col[i][j][k];
            }
        }
    }
    long long res = INF;
    for(int mask = 0; mask < (1 << N); mask++){
        long long curr = 0;
        for(int i = 0; i < N; i++){
            if(mask & (1 << i)){
                curr += row[i];
            }
        }
        for(int i = 0; i < M; i++){
            curr += calc_col(N, col[i], mask);
        }
        res = min(res, curr);
    }
    cout << res << endl;
    cin >> N;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms320 KiB
2Elfogadva0/01ms332 KiB
3Elfogadva2/2247ms19936 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva3/34ms568 KiB
6Elfogadva2/234ms2360 KiB
7Elfogadva2/2377ms19832 KiB
8Elfogadva2/2379ms19744 KiB
9Elfogadva2/2372ms19736 KiB
10Elfogadva2/2381ms19768 KiB
11Elfogadva2/2388ms19712 KiB
12Elfogadva2/2349ms18280 KiB
13Elfogadva2/2363ms18224 KiB
14Elfogadva2/2125ms19768 KiB
15Elfogadva3/3122ms19772 KiB
16Elfogadva3/3218ms19844 KiB
17Elfogadva2/2221ms19768 KiB
18Elfogadva3/3209ms19864 KiB
19Elfogadva2/2324ms17976 KiB
20Elfogadva2/2352ms19000 KiB
21Elfogadva2/2363ms19768 KiB
22Elfogadva2/2377ms19940 KiB
23Elfogadva2/2368ms19768 KiB
24Elfogadva2/2368ms19768 KiB
25Elfogadva2/2418ms19768 KiB