227032026-01-15 16:56:20szjFestés (50 pont)cpp17Elfogadva 50/50393ms19968 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n, m, i, a, b, mi=LLONG_MAX, j;
ll r[5], c[100001][5][5], t[5];
bool sor[5];

void cuccos()
{
    ll a=0;
    for(i=1; i<=n; i++)if(sor[i])a+=r[i];
    for(i=1; i<=m; i++)
    {
        fill(t, t+5, LLONG_MAX);
        t[0]=0;
        for(j=1; j<=n; j++)
        {
            if(sor[j])t[j]=t[j-1];
            b=LLONG_MAX;
            for(int l=j; l>0; l--)
            {
                b=min(b, t[l-1]);
                t[j]=min(c[i][l][j]+b, t[j]);
            }
        }
        a+=t[n];
    }
    mi = min(a, mi);
}
void comb(int ize)
{
    if(ize>n)
    {
        cuccos();
        return;
    }
    sor[ize]=1;
    comb(ize+1);
    sor[ize]=0;
    comb(ize+1);
}
int main()
{
    cin >> n >> m;
    for(i=1; i<=n; i++)cin >> r[i];
    for(i=1; i<=m; i++)
    {
        for(a=1; a<=n; a++)
        {
            for(b=a; b<=n; b++)
            {
                cin >> c[i][a][b];
            }
        }
    }
    comb(1);
    cout << mi;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/2226ms19764 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/34ms564 KiB
6Elfogadva2/232ms2356 KiB
7Elfogadva2/2361ms19968 KiB
8Elfogadva2/2347ms19776 KiB
9Elfogadva2/2356ms19764 KiB
10Elfogadva2/2349ms19732 KiB
11Elfogadva2/2363ms19788 KiB
12Elfogadva2/2328ms18228 KiB
13Elfogadva2/2349ms18228 KiB
14Elfogadva2/2112ms19764 KiB
15Elfogadva3/3125ms19936 KiB
16Elfogadva3/3206ms19764 KiB
17Elfogadva2/2200ms19760 KiB
18Elfogadva3/3196ms19812 KiB
19Elfogadva2/2303ms17972 KiB
20Elfogadva2/2324ms18744 KiB
21Elfogadva2/2347ms19764 KiB
22Elfogadva2/2344ms19764 KiB
23Elfogadva2/2352ms19764 KiB
24Elfogadva2/2347ms19876 KiB
25Elfogadva2/2393ms19752 KiB