205002026-01-07 13:02:35szabelrFestés (50 pont)cpp17Hibás válasz 0/50291ms30928 KiB
// Festés_clean.c=pp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>
#include <climits>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, m;
    cin >> n >> m;
    vector<int>sorar(n);
    for (int i = 0; i < n; i++)
    {
        int x; cin >> x;
        sorar[i] = x;
    }
    vector<vector<vector<int>>> ar(m + 1, vector<vector<int>>(n + 1, vector<int>(n + 1)));
    //m,kezdet,veg
    for (int i = 1; i <= m; i++)
    {
        for (int y = 1; y <= n; y++)
        {
            for (int z = y; z <= n; z++)
            {
                int x; cin >> x;
                ar[i][y][z] = x;
            }
        }
    }
    int best_sum = INT_MAX;
    for (int bitmask = 0; bitmask <= (1 << n); bitmask++)
    {
        int sum = 0;
        for (int j = 0; j <= n - 1; j++)
        {
            if ((bitmask & (1 << j)) != 0)
                sum += sorar[j];
        }
        for (int i = 1; i <= m; i++)
        {
            vector<long long>dp(n + 1, INT_MAX);
            dp[0] = 0;
            for (int y = 1; y <= n; y++)
            {
                if ((bitmask & (1 << (y - 1))) != 0)
                    dp[y] = dp[y - 1];
                else
                {
                    for (int z = 1; z <= y; z++)
                    {
                        for (int q = z; q <= n; q++)
                        {
                            dp[y] = min(dp[y], ar[i][z][q] + dp[z - 1]);
                        }
                    }
                }
            }
            sum += dp[n];
        }
        best_sum = min(best_sum, sum);
    }
    cout << best_sum;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/2170ms26060 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/33ms564 KiB
6Hibás válasz0/226ms3372 KiB
7Hibás válasz0/2291ms30792 KiB
8Hibás válasz0/2273ms30716 KiB
9Hibás válasz0/2273ms30784 KiB
10Hibás válasz0/2275ms30928 KiB
11Hibás válasz0/2291ms30772 KiB
12Hibás válasz0/2268ms28308 KiB
13Hibás válasz0/2261ms28212 KiB
14Hibás válasz0/289ms19764 KiB
15Hibás válasz0/397ms19832 KiB
16Hibás válasz0/3155ms26164 KiB
17Hibás válasz0/2165ms26040 KiB
18Hibás válasz0/3155ms26156 KiB
19Hibás válasz0/2259ms27688 KiB
20Hibás válasz0/2277ms29228 KiB
21Hibás válasz0/2270ms30412 KiB
22Hibás válasz0/2273ms30764 KiB
23Hibás válasz0/2291ms30856 KiB
24Hibás válasz0/2273ms30820 KiB
25Hibás válasz0/2282ms30776 KiB