229212026-01-16 08:55:21Leventusz09Városnézéscpp17Hibás válasz 0/80735ms262144 KiB
#include <iostream>
#include <vector>
#include <stdint.h>

using namespace std;

struct Ter {
    vector<uint32_t> et;
    //vector<uint32_t> ef;
    uint32_t n;  // látványosságok száma
    uint32_t an = 0; // sok látványosság
    uint32_t ob; // előző elem
};


int main(){
    Ter terek[20'000];
    uint32_t N, M;
    cin >> N >> M;

    for(uint32_t i=0; i<N; i++) cin >> terek[i].n;

    for(uint32_t i=0; i<M; i++){
        uint32_t t1, t2;
        cin >> t1 >> t2;
        terek[t1-1].et.push_back(t2-1);
        //terek[t2-1].ef.push_back(t1-1);
    }

    terek[0].an = terek[0].n;
    vector<uint32_t> q;
    q.push_back(0);
    uint32_t si= 0;
    while(si < q.size()){
        for(uint32_t&x:terek[q[si]].et){
            q.push_back(x);
            if(terek[x].an < terek[q[si]].an + terek[x].n) {
                terek[x].an = terek[q[si]].an + terek[x].n;
                terek[x].ob = q[si];
            }
        }
        si++;
    }

    cout << terek[q[q.size() - 1]].an << endl;
    vector<uint32_t> o1;
    for(uint32_t i=q[q.size() - 1]; i != 0; i = terek[i].ob) o1.push_back(i+1);
    cout << 1 << " ";
    for(int32_t i = o1.size()-1; i >= 0; i--) cout << o1[i] << " ";
    cout << endl;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms1076 KiB
subtask20/20
2Elfogadva2ms1076 KiB
3Elfogadva1ms1076 KiB
4Hibás válasz2ms1076 KiB
5Hibás válasz6ms1232 KiB
6Hibás válasz3ms1076 KiB
7Hibás válasz8ms1332 KiB
8Hibás válasz8ms1332 KiB
9Elfogadva1ms1152 KiB
10Hibás válasz14ms1588 KiB
11Hibás válasz2ms1300 KiB
12Elfogadva1ms1076 KiB
subtask30/25
13Elfogadva2ms1080 KiB
14Elfogadva2ms1272 KiB
15Elfogadva2ms1076 KiB
16Elfogadva2ms1456 KiB
17Elfogadva1ms1076 KiB
18Elfogadva2ms1436 KiB
19Elfogadva2ms1064 KiB
20Hibás válasz2ms1076 KiB
21Hibás válasz1ms1296 KiB
22Futási hiba483ms262144 KiB
23Hibás válasz2ms1076 KiB
24Futási hiba601ms262144 KiB
25Elfogadva26ms9416 KiB
26Hibás válasz3ms1076 KiB
27Hibás válasz4ms1004 KiB
28Futási hiba643ms262144 KiB
29Elfogadva14ms5280 KiB
30Futási hiba522ms262144 KiB
31Hibás válasz16ms1076 KiB
32Hibás válasz32ms1332 KiB
33Hibás válasz9ms1076 KiB
subtask40/20
34Elfogadva2ms1076 KiB
35Hibás válasz2ms1076 KiB
36Elfogadva2ms1080 KiB
37Hibás válasz2ms1076 KiB
38Hibás válasz3ms1516 KiB
39Elfogadva1ms1076 KiB
40Hibás válasz2ms1160 KiB
41Hibás válasz2ms1076 KiB
42Hibás válasz2ms1076 KiB
43Hibás válasz2ms1076 KiB
44Hibás válasz2ms1404 KiB
45Hibás válasz1ms1076 KiB
46Hibás válasz7ms3200 KiB
47Hibás válasz2ms1076 KiB
48Hibás válasz2ms1076 KiB
49Hibás válasz2ms1116 KiB
50Elfogadva2ms1076 KiB
51Elfogadva2ms1076 KiB
52Elfogadva2ms1120 KiB
53Hibás válasz1ms1076 KiB
54Elfogadva2ms1076 KiB
55Elfogadva2ms1076 KiB
56Elfogadva1ms1076 KiB
57Elfogadva2ms1076 KiB
58Elfogadva1ms996 KiB
59Elfogadva2ms1076 KiB
60Hibás válasz2ms1076 KiB
61Elfogadva2ms1076 KiB
62Hibás válasz1ms1076 KiB
63Elfogadva1ms1076 KiB
64Elfogadva2ms1260 KiB
65Elfogadva2ms1268 KiB
66Elfogadva2ms1076 KiB
subtask50/15
67Elfogadva2ms1076 KiB
68Elfogadva2ms1076 KiB
69Elfogadva1ms1076 KiB
70Hibás válasz2ms1076 KiB
71Hibás válasz6ms1232 KiB
72Hibás válasz3ms1076 KiB
73Hibás válasz8ms1332 KiB
74Hibás válasz8ms1332 KiB
75Elfogadva1ms1152 KiB
76Hibás válasz14ms1588 KiB
77Hibás válasz2ms1300 KiB
78Elfogadva1ms1076 KiB
79Elfogadva2ms1080 KiB
80Elfogadva2ms1272 KiB
81Elfogadva2ms1076 KiB
82Elfogadva2ms1456 KiB
83Elfogadva1ms1076 KiB
84Elfogadva2ms1436 KiB
85Elfogadva2ms1064 KiB
86Hibás válasz2ms1076 KiB
87Hibás válasz1ms1296 KiB
88Futási hiba483ms262144 KiB
89Hibás válasz2ms1076 KiB
90Futási hiba601ms262144 KiB
91Elfogadva26ms9416 KiB
92Hibás válasz3ms1076 KiB
93Hibás válasz4ms1004 KiB
94Futási hiba643ms262144 KiB
95Elfogadva14ms5280 KiB
96Futási hiba522ms262144 KiB
97Hibás válasz16ms1076 KiB
98Hibás válasz32ms1332 KiB
99Hibás válasz9ms1076 KiB
100Hibás válasz2ms1076 KiB
101Elfogadva2ms1080 KiB
102Hibás válasz2ms1076 KiB
103Hibás válasz3ms1516 KiB
104Elfogadva1ms1076 KiB
105Hibás válasz2ms1160 KiB
106Hibás válasz2ms1076 KiB
107Hibás válasz2ms1076 KiB
108Hibás válasz2ms1076 KiB
109Hibás válasz2ms1404 KiB
110Hibás válasz1ms1076 KiB
111Hibás válasz7ms3200 KiB
112Hibás válasz2ms1076 KiB
113Hibás válasz2ms1076 KiB
114Hibás válasz2ms1116 KiB
115Elfogadva2ms1076 KiB
116Elfogadva2ms1076 KiB
117Elfogadva2ms1120 KiB
118Hibás válasz1ms1076 KiB
119Elfogadva2ms1076 KiB
120Elfogadva2ms1076 KiB
121Elfogadva1ms1076 KiB
122Elfogadva2ms1076 KiB
123Elfogadva1ms996 KiB
124Elfogadva2ms1076 KiB
125Hibás válasz2ms1076 KiB
126Elfogadva2ms1076 KiB
127Hibás válasz1ms1076 KiB
128Elfogadva1ms1076 KiB
129Elfogadva2ms1260 KiB
130Elfogadva2ms1268 KiB
131Elfogadva2ms1076 KiB
132Futási hiba476ms262144 KiB
133Hibás válasz2ms1076 KiB
134Futási hiba614ms262144 KiB
135Hibás válasz409ms132624 KiB
136Futási hiba602ms262144 KiB
137Hibás válasz4ms2220 KiB
138Futási hiba460ms262144 KiB
139Hibás válasz3ms1076 KiB
140Hibás válasz4ms1332 KiB
141Hibás válasz4ms1076 KiB
142Hibás válasz9ms1332 KiB
143Elfogadva14ms2480 KiB
144Hibás válasz12ms1588 KiB
145Hibás válasz8ms1588 KiB
146Hibás válasz21ms2100 KiB
147Futási hiba617ms262144 KiB
148Futási hiba735ms262144 KiB
149Futási hiba666ms262144 KiB