229422026-01-16 09:23:17Leventusz09Városnézéscpp17Hibás válasz 20/80717ms262144 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 = -1; // 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[N - 1].an << endl;
    vector<uint32_t> o1;
    for(uint32_t i=N - 1; i != 0; i = terek[i].ob){
        o1.push_back(i+1);
        if(i == -1){
            cout << -1 << endl;
            return 0;
        }
    }
    cout << 1 << " ";
    for(int32_t i = o1.size()-1; i >= 0; i--) cout << o1[i] << " "; 
    cout << endl;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms1076 KiB
subtask220/20
2Elfogadva1ms1076 KiB
3Elfogadva2ms1272 KiB
4Elfogadva2ms1272 KiB
5Elfogadva6ms1332 KiB
6Elfogadva3ms1116 KiB
7Elfogadva8ms1324 KiB
8Elfogadva8ms1328 KiB
9Elfogadva1ms1268 KiB
10Elfogadva14ms1588 KiB
11Elfogadva1ms1076 KiB
12Elfogadva1ms1076 KiB
subtask30/25
13Elfogadva2ms1076 KiB
14Elfogadva2ms1076 KiB
15Elfogadva2ms1260 KiB
16Elfogadva3ms1456 KiB
17Elfogadva2ms1076 KiB
18Elfogadva2ms1228 KiB
19Elfogadva2ms1084 KiB
20Hibás válasz2ms1076 KiB
21Hibás válasz2ms1292 KiB
22Futási hiba446ms262144 KiB
23Hibás válasz3ms1076 KiB
24Futási hiba559ms262144 KiB
25Elfogadva28ms9368 KiB
26Hibás válasz3ms1076 KiB
27Hibás válasz4ms1076 KiB
28Futási hiba495ms262144 KiB
29Elfogadva14ms5280 KiB
30Futási hiba592ms262144 KiB
31Hibás válasz16ms1076 KiB
32Hibás válasz34ms1336 KiB
33Hibás válasz9ms1076 KiB
subtask40/20
34Elfogadva2ms1268 KiB
35Elfogadva2ms1076 KiB
36Elfogadva2ms1092 KiB
37Elfogadva2ms1076 KiB
38Elfogadva2ms1468 KiB
39Elfogadva2ms1076 KiB
40Elfogadva3ms1076 KiB
41Hibás válasz2ms1076 KiB
42Hibás válasz1ms1076 KiB
43Hibás válasz2ms1260 KiB
44Elfogadva2ms1468 KiB
45Hibás válasz2ms1076 KiB
46Elfogadva7ms3320 KiB
47Elfogadva2ms1076 KiB
48Hibás válasz2ms1076 KiB
49Hibás válasz2ms1076 KiB
50Elfogadva2ms1260 KiB
51Elfogadva2ms1076 KiB
52Elfogadva2ms1088 KiB
53Elfogadva2ms1092 KiB
54Elfogadva2ms1076 KiB
55Elfogadva2ms1348 KiB
56Elfogadva2ms1076 KiB
57Elfogadva2ms1092 KiB
58Elfogadva1ms1076 KiB
59Elfogadva2ms1092 KiB
60Elfogadva2ms1076 KiB
61Elfogadva2ms1112 KiB
62Elfogadva2ms1076 KiB
63Elfogadva2ms1076 KiB
64Elfogadva2ms1076 KiB
65Elfogadva2ms1092 KiB
66Elfogadva1ms1076 KiB
subtask50/15
67Elfogadva2ms1268 KiB
68Elfogadva1ms1076 KiB
69Elfogadva2ms1272 KiB
70Elfogadva2ms1272 KiB
71Elfogadva6ms1332 KiB
72Elfogadva3ms1116 KiB
73Elfogadva8ms1324 KiB
74Elfogadva8ms1328 KiB
75Elfogadva1ms1268 KiB
76Elfogadva14ms1588 KiB
77Elfogadva1ms1076 KiB
78Elfogadva1ms1076 KiB
79Elfogadva2ms1076 KiB
80Elfogadva2ms1076 KiB
81Elfogadva2ms1260 KiB
82Elfogadva3ms1456 KiB
83Elfogadva2ms1076 KiB
84Elfogadva2ms1228 KiB
85Elfogadva2ms1084 KiB
86Hibás válasz2ms1076 KiB
87Hibás válasz2ms1292 KiB
88Futási hiba446ms262144 KiB
89Hibás válasz3ms1076 KiB
90Futási hiba559ms262144 KiB
91Elfogadva28ms9368 KiB
92Hibás válasz3ms1076 KiB
93Hibás válasz4ms1076 KiB
94Futási hiba495ms262144 KiB
95Elfogadva14ms5280 KiB
96Futási hiba592ms262144 KiB
97Hibás válasz16ms1076 KiB
98Hibás válasz34ms1336 KiB
99Hibás válasz9ms1076 KiB
100Elfogadva2ms1076 KiB
101Elfogadva2ms1092 KiB
102Elfogadva2ms1076 KiB
103Elfogadva2ms1468 KiB
104Elfogadva2ms1076 KiB
105Elfogadva3ms1076 KiB
106Hibás válasz2ms1076 KiB
107Hibás válasz1ms1076 KiB
108Hibás válasz2ms1260 KiB
109Elfogadva2ms1468 KiB
110Hibás válasz2ms1076 KiB
111Elfogadva7ms3320 KiB
112Elfogadva2ms1076 KiB
113Hibás válasz2ms1076 KiB
114Hibás válasz2ms1076 KiB
115Elfogadva2ms1260 KiB
116Elfogadva2ms1076 KiB
117Elfogadva2ms1088 KiB
118Elfogadva2ms1092 KiB
119Elfogadva2ms1076 KiB
120Elfogadva2ms1348 KiB
121Elfogadva2ms1076 KiB
122Elfogadva2ms1092 KiB
123Elfogadva1ms1076 KiB
124Elfogadva2ms1092 KiB
125Elfogadva2ms1076 KiB
126Elfogadva2ms1112 KiB
127Elfogadva2ms1076 KiB
128Elfogadva2ms1076 KiB
129Elfogadva2ms1076 KiB
130Elfogadva2ms1092 KiB
131Elfogadva1ms1076 KiB
132Futási hiba439ms262144 KiB
133Hibás válasz3ms1076 KiB
134Futási hiba465ms262144 KiB
135Elfogadva453ms132608 KiB
136Futási hiba568ms262144 KiB
137Hibás válasz4ms2220 KiB
138Futási hiba538ms262144 KiB
139Hibás válasz3ms1080 KiB
140Elfogadva6ms1332 KiB
141Elfogadva3ms1268 KiB
142Elfogadva8ms1336 KiB
143Elfogadva14ms2480 KiB
144Elfogadva12ms1772 KiB
145Elfogadva8ms1456 KiB
146Elfogadva21ms1916 KiB
147Futási hiba626ms262144 KiB
148Futási hiba717ms262144 KiB
149Futási hiba546ms262144 KiB