126132024-12-26 20:33:56BucsMateFestés (50 pont)cpp17Elfogadva 50/50404ms19968 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 = 0; i < N; i++){
        if(mask & (1 << i)){
            dp[i+1] = dp[i];
        }
        for(int j = 0; j <= i; j++){
            for(int k = 0; k <= j; k++){
                dp[i+1] = min(dp[i+1], dp[j] + col[k][i]);
            }
        }
    }
    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;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms320 KiB
2Elfogadva0/01ms320 KiB
3Elfogadva2/2238ms19768 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva3/34ms568 KiB
6Elfogadva2/232ms2364 KiB
7Elfogadva2/2361ms19764 KiB
8Elfogadva2/2367ms19740 KiB
9Elfogadva2/2358ms19768 KiB
10Elfogadva2/2368ms19768 KiB
11Elfogadva2/2361ms19768 KiB
12Elfogadva2/2338ms18232 KiB
13Elfogadva2/2351ms18232 KiB
14Elfogadva2/2119ms19768 KiB
15Elfogadva3/3122ms19816 KiB
16Elfogadva3/3208ms19768 KiB
17Elfogadva2/2201ms19968 KiB
18Elfogadva3/3197ms19772 KiB
19Elfogadva2/2316ms17976 KiB
20Elfogadva2/2340ms19000 KiB
21Elfogadva2/2351ms19764 KiB
22Elfogadva2/2365ms19772 KiB
23Elfogadva2/2363ms19768 KiB
24Elfogadva2/2356ms19768 KiB
25Elfogadva2/2404ms19772 KiB