205092026-01-07 13:26:22szabelrFestés (50 pont)cpp17Accepted 50/50272ms10196 KiB
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
int ar[100001][5][5];

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;
    }
    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;
            }
        }
    }
    long long best_sum = 1e18;
    for (int bitmask = 0; bitmask <= (1 << n)-1; bitmask++)
    {
        long long 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, 1e18);
            dp[0] = 0;
            for (int y = 1; y <= n; y++)
            {
                if ((bitmask & (1 << (y - 1))) != 0)
                    dp[y] = dp[y-1];
                for (int z = 1; z <= n; z++)
                {
                    for (int q = z; q <= n; q++)
                    {
                        if(y>=z and y<=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;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms512 KiB
3Accepted2/2119ms9992 KiB
4Accepted2/21ms316 KiB
5Accepted3/33ms316 KiB
6Accepted2/226ms1260 KiB
7Accepted2/2263ms10016 KiB
8Accepted2/2266ms10092 KiB
9Accepted2/2263ms10040 KiB
10Accepted2/2264ms10036 KiB
11Accepted2/2263ms10040 KiB
12Accepted2/2243ms9152 KiB
13Accepted2/2250ms9268 KiB
14Accepted2/252ms10096 KiB
15Accepted3/354ms10040 KiB
16Accepted3/3114ms10036 KiB
17Accepted2/2115ms10036 KiB
18Accepted3/3118ms10196 KiB
19Accepted2/2237ms9212 KiB
20Accepted2/2252ms9688 KiB
21Accepted2/2263ms10036 KiB
22Accepted2/2266ms10036 KiB
23Accepted2/2263ms10036 KiB
24Accepted2/2263ms10024 KiB
25Accepted2/2272ms10032 KiB