199852025-12-30 21:33:12VargaVivienVárosnézéscpp17Időlimit túllépés 20/801.11s262144 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 = 0; i < terkep[varos].size(); i++)
        {

            reszdb = *db + latvanyossag[varos - 1];
            temp.clear();

                if(latogatas(terkep[varos][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+1);

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

    }
    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 << " ";
        }
    }
    else
    {
        cout << -1 << endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask20/20
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Időlimit túllépés1.08s6336 KiB
6Elfogadva188ms2840 KiB
7Időlimit túllépés1.101s37668 KiB
8Időlimit túllépés1.1s37160 KiB
9Elfogadva1ms508 KiB
10Futási hiba365ms262144 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask30/25
13Elfogadva2ms316 KiB
14Elfogadva2ms508 KiB
15Elfogadva2ms316 KiB
16Elfogadva32ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva6ms416 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Időlimit túllépés1.1s912 KiB
23Elfogadva2ms316 KiB
24Időlimit túllépés1.098s1076 KiB
25Időlimit túllépés1.1s752 KiB
26Elfogadva2ms316 KiB
27Elfogadva4ms316 KiB
28Időlimit túllépés1.1s6332 KiB
29Időlimit túllépés1.085s2076 KiB
30Időlimit túllépés1.1s8892 KiB
31Elfogadva17ms1336 KiB
32Elfogadva32ms1332 KiB
33Elfogadva9ms1192 KiB
subtask420/20
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms512 KiB
37Elfogadva1ms316 KiB
38Elfogadva14ms416 KiB
39Elfogadva1ms316 KiB
40Elfogadva6ms424 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Elfogadva14ms412 KiB
45Elfogadva1ms316 KiB
46Elfogadva280ms432 KiB
47Elfogadva3ms416 KiB
48Elfogadva1ms316 KiB
49Elfogadva4ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms348 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms556 KiB
56Elfogadva1ms316 KiB
57Elfogadva1ms356 KiB
58Elfogadva1ms532 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms316 KiB
61Elfogadva1ms508 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms508 KiB
66Elfogadva2ms316 KiB
subtask50/15
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms316 KiB
71Időlimit túllépés1.08s6336 KiB
72Elfogadva188ms2840 KiB
73Időlimit túllépés1.101s37668 KiB
74Időlimit túllépés1.1s37160 KiB
75Elfogadva1ms508 KiB
76Futási hiba365ms262144 KiB
77Elfogadva1ms316 KiB
78Elfogadva1ms316 KiB
79Elfogadva2ms316 KiB
80Elfogadva2ms508 KiB
81Elfogadva2ms316 KiB
82Elfogadva32ms316 KiB
83Elfogadva1ms316 KiB
84Elfogadva6ms416 KiB
85Elfogadva1ms316 KiB
86Elfogadva1ms316 KiB
87Elfogadva1ms316 KiB
88Időlimit túllépés1.1s912 KiB
89Elfogadva2ms316 KiB
90Időlimit túllépés1.098s1076 KiB
91Időlimit túllépés1.1s752 KiB
92Elfogadva2ms316 KiB
93Elfogadva4ms316 KiB
94Időlimit túllépés1.1s6332 KiB
95Időlimit túllépés1.085s2076 KiB
96Időlimit túllépés1.1s8892 KiB
97Elfogadva17ms1336 KiB
98Elfogadva32ms1332 KiB
99Elfogadva9ms1192 KiB
100Elfogadva1ms316 KiB
101Elfogadva1ms512 KiB
102Elfogadva1ms316 KiB
103Elfogadva14ms416 KiB
104Elfogadva1ms316 KiB
105Elfogadva6ms424 KiB
106Elfogadva1ms316 KiB
107Elfogadva1ms316 KiB
108Elfogadva1ms316 KiB
109Elfogadva14ms412 KiB
110Elfogadva1ms316 KiB
111Elfogadva280ms432 KiB
112Elfogadva3ms416 KiB
113Elfogadva1ms316 KiB
114Elfogadva4ms316 KiB
115Elfogadva1ms316 KiB
116Elfogadva1ms316 KiB
117Elfogadva1ms348 KiB
118Elfogadva1ms316 KiB
119Elfogadva1ms316 KiB
120Elfogadva1ms556 KiB
121Elfogadva1ms316 KiB
122Elfogadva1ms356 KiB
123Elfogadva1ms532 KiB
124Elfogadva1ms316 KiB
125Elfogadva1ms316 KiB
126Elfogadva1ms508 KiB
127Elfogadva1ms316 KiB
128Elfogadva1ms316 KiB
129Elfogadva1ms316 KiB
130Elfogadva1ms508 KiB
131Elfogadva2ms316 KiB
132Időlimit túllépés1.082s820 KiB
133Elfogadva2ms508 KiB
134Időlimit túllépés1.082s1108 KiB
135Időlimit túllépés1.082s820 KiB
136Időlimit túllépés1.1s820 KiB
137Időlimit túllépés1.082s740 KiB
138Időlimit túllépés1.083s820 KiB
139Elfogadva3ms500 KiB
140Időlimit túllépés1.1s6408 KiB
141Elfogadva698ms15288 KiB
142Időlimit túllépés1.085s15552 KiB
143Időlimit túllépés1.075s57828 KiB
144Időlimit túllépés1.075s45288 KiB
145Időlimit túllépés1.11s166408 KiB
146Időlimit túllépés1.09s83644 KiB
147Futási hiba552ms262144 KiB
148Időlimit túllépés1.095s179456 KiB
149Futási hiba386ms262144 KiB