199832025-12-30 21:02:44VargaVivienVárosnézéscpp17Runtime error 0/801.1s262144 KiB
#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct ut
{
    int bol, ba;
};

bool latogatas(int varos, int *latvanyossag, int *db, vector<vector<int>> terkep, int n, vector<int> &szam)
{
    bool vege = false;
    vector<int> maximum;
    vector<int> temp;
    int maxi = 0;
   // cout << "szam" << &szam << endl;
   // cout << "temp" << &temp << endl;
    if(varos == n)
    {
        vege = true;
        *db += latvanyossag[varos - 1];
        szam.push_back(varos);
        return vege;
    }
    else
    {
        int reszdb;
        szam.push_back(varos);
        for(int i = 1; i <= n; i++)
        {

            reszdb = *db + latvanyossag[varos - 1];
            temp.clear();
            if(terkep[varos-1][i-1] == 1)
            {
                if(latogatas(i, latvanyossag, &reszdb, terkep, n, temp))
                {
                    vege = true;
                    if(reszdb > maxi)
                    {
                        maxi = reszdb;
                        maximum.clear();
                        for(int j : temp)
                        {
                        //    cout << temp[j] <<endl;
                            maximum.push_back(j);
                        }
                    }
                }
            }
        }
        if(!vege)
        {
            szam.pop_back();
        }
        else
        {
            for(int j:maximum)
            {
                szam.push_back(j);
            }
        }
        *db = maxi;
        return vege;
    }
}

int main()
{
    int n, m;
    ut x;
    cin >> x.bol >> x.ba;
    n = x.bol;
    m = x.ba;
    int numbers[n];
    for(int i=0; i<n; i++) cin >> numbers[i];

    vector <vector<int>> terkep(n, vector<int>(n,0));

    for(int i = 0; i < m; i++)
    {
        cin >> x.bol >> x.ba;
        terkep[x.bol-1][x.ba-1]=1;

    }
    int db = 0;
    vector<int> szam;
    if (latogatas(1, numbers, &db, terkep, n, szam))
    {
        cout << db << endl;
        //cout << szam.size()<< endl;
        for (int j:szam)
        {
            cout << j << " ";
        }
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask20/20
2Accepted1ms316 KiB
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Runtime error277ms262144 KiB
6Runtime error421ms262144 KiB
7Runtime error219ms262144 KiB
8Runtime error266ms262144 KiB
9Accepted2ms820 KiB
10Runtime error218ms262144 KiB
11Accepted1ms564 KiB
12Accepted1ms316 KiB
subtask30/25
13Accepted2ms316 KiB
14Accepted1ms556 KiB
15Accepted1ms316 KiB
16Accepted37ms436 KiB
17Accepted1ms316 KiB
18Accepted10ms316 KiB
19Accepted1ms316 KiB
20Wrong answer1ms316 KiB
21Wrong answer1ms500 KiB
22Time limit exceeded1.1s12800 KiB
23Wrong answer30ms30576 KiB
24Time limit exceeded1.1s19468 KiB
25Time limit exceeded1.1s17204 KiB
26Wrong answer14ms13300 KiB
27Wrong answer25ms21044 KiB
28Runtime error296ms262144 KiB
29Time limit exceeded1.098s257732 KiB
30Runtime error247ms262144 KiB
31Runtime error238ms262144 KiB
32Runtime error268ms262144 KiB
33Runtime error279ms262144 KiB
subtask40/20
34Accepted1ms508 KiB
35Accepted1ms500 KiB
36Accepted1ms316 KiB
37Accepted1ms316 KiB
38Accepted18ms428 KiB
39Accepted1ms316 KiB
40Accepted9ms472 KiB
41Wrong answer1ms332 KiB
42Wrong answer1ms500 KiB
43Wrong answer1ms500 KiB
44Accepted18ms428 KiB
45Wrong answer1ms316 KiB
46Accepted555ms480 KiB
47Accepted4ms316 KiB
48Wrong answer1ms316 KiB
49Wrong answer4ms564 KiB
50Accepted1ms400 KiB
51Accepted1ms316 KiB
52Accepted1ms316 KiB
53Accepted1ms316 KiB
54Accepted1ms500 KiB
55Accepted1ms508 KiB
56Accepted1ms400 KiB
57Accepted1ms560 KiB
58Accepted1ms564 KiB
59Accepted1ms316 KiB
60Accepted1ms508 KiB
61Accepted1ms316 KiB
62Accepted1ms316 KiB
63Accepted1ms316 KiB
64Accepted1ms316 KiB
65Accepted1ms316 KiB
66Accepted1ms316 KiB
subtask50/15
67Accepted1ms508 KiB
68Accepted1ms316 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Runtime error277ms262144 KiB
72Runtime error421ms262144 KiB
73Runtime error219ms262144 KiB
74Runtime error266ms262144 KiB
75Accepted2ms820 KiB
76Runtime error218ms262144 KiB
77Accepted1ms564 KiB
78Accepted1ms316 KiB
79Accepted2ms316 KiB
80Accepted1ms556 KiB
81Accepted1ms316 KiB
82Accepted37ms436 KiB
83Accepted1ms316 KiB
84Accepted10ms316 KiB
85Accepted1ms316 KiB
86Wrong answer1ms316 KiB
87Wrong answer1ms500 KiB
88Time limit exceeded1.1s12800 KiB
89Wrong answer30ms30576 KiB
90Time limit exceeded1.1s19468 KiB
91Time limit exceeded1.1s17204 KiB
92Wrong answer14ms13300 KiB
93Wrong answer25ms21044 KiB
94Runtime error296ms262144 KiB
95Time limit exceeded1.098s257732 KiB
96Runtime error247ms262144 KiB
97Runtime error238ms262144 KiB
98Runtime error268ms262144 KiB
99Runtime error279ms262144 KiB
100Accepted1ms500 KiB
101Accepted1ms316 KiB
102Accepted1ms316 KiB
103Accepted18ms428 KiB
104Accepted1ms316 KiB
105Accepted9ms472 KiB
106Wrong answer1ms332 KiB
107Wrong answer1ms500 KiB
108Wrong answer1ms500 KiB
109Accepted18ms428 KiB
110Wrong answer1ms316 KiB
111Accepted555ms480 KiB
112Accepted4ms316 KiB
113Wrong answer1ms316 KiB
114Wrong answer4ms564 KiB
115Accepted1ms400 KiB
116Accepted1ms316 KiB
117Accepted1ms316 KiB
118Accepted1ms316 KiB
119Accepted1ms500 KiB
120Accepted1ms508 KiB
121Accepted1ms400 KiB
122Accepted1ms560 KiB
123Accepted1ms564 KiB
124Accepted1ms316 KiB
125Accepted1ms508 KiB
126Accepted1ms316 KiB
127Accepted1ms316 KiB
128Accepted1ms316 KiB
129Accepted1ms316 KiB
130Accepted1ms316 KiB
131Accepted1ms316 KiB
132Time limit exceeded1.074s6280 KiB
133Wrong answer26ms30516 KiB
134Time limit exceeded1.075s16436 KiB
135Time limit exceeded1.075s20800 KiB
136Time limit exceeded1.087s16692 KiB
137Time limit exceeded1.083s17248 KiB
138Time limit exceeded1.082s4396 KiB
139Wrong answer32ms31028 KiB
140Runtime error223ms262144 KiB
141Runtime error256ms262144 KiB
142Runtime error228ms262144 KiB
143Runtime error254ms262144 KiB
144Runtime error215ms262144 KiB
145Runtime error268ms262144 KiB
146Runtime error215ms262144 KiB
147Runtime error261ms262144 KiB
148Runtime error215ms262144 KiB
149Runtime error228ms262144 KiB