176642025-09-03 16:32:12arnoldbeilandFestés (50 pont)cpp17Hibás válasz 2/50538ms44276 KiB
#include <iostream>
#include <vector>
#include <climits>

using namespace std;

int main()
{
    int sor, oszlop;
    cin >> sor >> oszlop;

    vector<long long> r(sor + 1);
    for(int i = 1; i <= sor; i++)
    {
        cin >> r[i];
    }

    vector<vector<vector<long long>>> c(oszlop + 1, vector<vector<long long>>(sor + 1, vector<long long>(sor + 1))); // j, l, r

    for(int j = 1; j <= oszlop; j++)
    {
        for(int l = 1; l <= sor; l++)
        {
            for(int r2 = l; r2 <= sor; r2++)
            {
                long long ertek;
                cin >> ertek;

                c[j][l][r2] = ertek;
            }
        }
    }

    long long eredmeny = LLONG_MAX;

    for(int mask = 0; mask < (1 << sor); mask++)
    {
        long long minimum = 0;

        for(int o = 1; o <= oszlop; o++)
        {
            vector<long long> dp(sor + 1, LLONG_MAX);
            dp[0] = 0;

            for(int s = 1; s <= sor; s++)
            {
                for(int k = 1; k <= s; k++)
                {
                    for(int j = 1; j <= s - k + 1; j++)
                    {
                        dp[s] = min(dp[s], dp[s - k] + c[o][j][s]);
                    }
                }

                if(((mask >> (s - 1)) & 1))
                {
                    dp[s] = min(dp[s], dp[s - 1] + r[s]);
                }
            }

            minimum += dp[sor];
        }
        eredmeny = min(eredmeny, minimum);
    }

    cout << eredmeny;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Elfogadva0/01ms328 KiB
2Elfogadva0/01ms500 KiB
3Hibás válasz0/2298ms35892 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/34ms820 KiB
6Hibás válasz0/243ms4404 KiB
7Hibás válasz0/2476ms43316 KiB
8Hibás válasz0/2497ms43416 KiB
9Hibás válasz0/2497ms43316 KiB
10Hibás válasz0/2474ms43352 KiB
11Hibás válasz0/2476ms43316 KiB
12Hibás válasz0/2456ms39816 KiB
13Hibás válasz0/2477ms40244 KiB
14Hibás válasz0/2146ms21300 KiB
15Hibás válasz0/3150ms21556 KiB
16Hibás válasz0/3268ms35100 KiB
17Hibás válasz0/2289ms35124 KiB
18Hibás válasz0/3280ms35124 KiB
19Hibás válasz0/2407ms38708 KiB
20Hibás válasz0/2442ms41012 KiB
21Hibás válasz0/2486ms42804 KiB
22Hibás válasz0/2493ms43316 KiB
23Hibás válasz0/2469ms43316 KiB
24Elfogadva2/2460ms43060 KiB
25Hibás válasz0/2538ms44276 KiB