201892026-01-04 13:36:38hunzombiVárosnézéscpp17Futási hiba 0/804ms564 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n, m;
    vector<int> node_val(n + 1);
    vector<vector<int>> edges(n + 1);
    vector<int> in_edges(n + 1, 0), prev(n + 1, -1);
    vector<int> memo(n + 1, -1);

    cin >> n >> m;

    for (int i=1; i <= n; i++) {
        cin >> node_val[i];
        memo[i] = node_val[i];
    }

    for (int i=0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        edges[u].push_back(v);
        in_edges[v]++;
    }

    queue<int> q;
    for (int i=1; i <= n; i++) {
        if (in_edges[i] == 0) {
            q.push(i);
        }
    }

    while (!q.empty()) {
        int node = q.front();
        q.pop();

        for (int next : edges[node]) {
            if (memo[next] < memo[node] + node_val[next]) {
                memo[next] = memo[node] + node_val[next];
                prev[next] = node;
            }
            if (--in_edges[next] == 0) {
                q.push(next);
            }
        }
    }

    int idx = 0;
    for (int i=1; i <= n; i++) {
        if (memo[i] > memo[idx]) {
            idx = i;
        }
    }
    int sum = memo[idx];
    vector<int> ans;

    while (idx > 0) {
        ans.push_back(idx);
        idx = prev[idx];
    }

    cout << sum << '\n';

    for (int i = ans.size() - 1; i >= 0; i--) {
        cout << ans[i] << ' ';
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Futási hiba3ms316 KiB
subtask20/20
2Futási hiba3ms316 KiB
3Futási hiba4ms316 KiB
4Futási hiba4ms316 KiB
5Futási hiba2ms316 KiB
6Futási hiba2ms316 KiB
7Futási hiba1ms316 KiB
8Futási hiba2ms500 KiB
9Futási hiba1ms316 KiB
10Futási hiba2ms316 KiB
11Futási hiba1ms316 KiB
12Futási hiba1ms316 KiB
subtask30/25
13Futási hiba2ms316 KiB
14Futási hiba4ms316 KiB
15Futási hiba3ms508 KiB
16Futási hiba2ms316 KiB
17Futási hiba1ms564 KiB
18Futási hiba1ms316 KiB
19Futási hiba1ms316 KiB
20Futási hiba1ms316 KiB
21Futási hiba1ms316 KiB
22Futási hiba2ms316 KiB
23Futási hiba2ms316 KiB
24Futási hiba1ms508 KiB
25Futási hiba1ms316 KiB
26Futási hiba2ms316 KiB
27Futási hiba2ms316 KiB
28Futási hiba2ms316 KiB
29Futási hiba1ms316 KiB
30Futási hiba2ms500 KiB
31Futási hiba1ms316 KiB
32Futási hiba2ms316 KiB
33Futási hiba2ms316 KiB
subtask40/20
34Futási hiba4ms472 KiB
35Futási hiba1ms316 KiB
36Futási hiba4ms564 KiB
37Futási hiba3ms316 KiB
38Futási hiba1ms316 KiB
39Futási hiba3ms316 KiB
40Futási hiba1ms316 KiB
41Futási hiba2ms316 KiB
42Futási hiba1ms508 KiB
43Futási hiba2ms316 KiB
44Futási hiba1ms316 KiB
45Futási hiba2ms316 KiB
46Futási hiba1ms316 KiB
47Futási hiba1ms316 KiB
48Futási hiba1ms316 KiB
49Futási hiba1ms316 KiB
50Futási hiba3ms316 KiB
51Futási hiba3ms316 KiB
52Futási hiba3ms316 KiB
53Futási hiba3ms316 KiB
54Futási hiba3ms316 KiB
55Futási hiba2ms316 KiB
56Futási hiba1ms512 KiB
57Futási hiba3ms316 KiB
58Futási hiba1ms316 KiB
59Futási hiba1ms316 KiB
60Futási hiba3ms316 KiB
61Futási hiba3ms508 KiB
62Futási hiba1ms316 KiB
63Futási hiba3ms500 KiB
64Futási hiba1ms500 KiB
65Futási hiba4ms316 KiB
66Futási hiba1ms512 KiB
subtask50/15
67Futási hiba4ms472 KiB
68Futási hiba3ms316 KiB
69Futási hiba4ms316 KiB
70Futási hiba4ms316 KiB
71Futási hiba2ms316 KiB
72Futási hiba2ms316 KiB
73Futási hiba1ms316 KiB
74Futási hiba2ms500 KiB
75Futási hiba1ms316 KiB
76Futási hiba2ms316 KiB
77Futási hiba1ms316 KiB
78Futási hiba1ms316 KiB
79Futási hiba2ms316 KiB
80Futási hiba4ms316 KiB
81Futási hiba3ms508 KiB
82Futási hiba2ms316 KiB
83Futási hiba1ms564 KiB
84Futási hiba1ms316 KiB
85Futási hiba1ms316 KiB
86Futási hiba1ms316 KiB
87Futási hiba1ms316 KiB
88Futási hiba2ms316 KiB
89Futási hiba2ms316 KiB
90Futási hiba1ms508 KiB
91Futási hiba1ms316 KiB
92Futási hiba2ms316 KiB
93Futási hiba2ms316 KiB
94Futási hiba2ms316 KiB
95Futási hiba1ms316 KiB
96Futási hiba2ms500 KiB
97Futási hiba1ms316 KiB
98Futási hiba2ms316 KiB
99Futási hiba2ms316 KiB
100Futási hiba1ms316 KiB
101Futási hiba4ms564 KiB
102Futási hiba3ms316 KiB
103Futási hiba1ms316 KiB
104Futási hiba3ms316 KiB
105Futási hiba1ms316 KiB
106Futási hiba2ms316 KiB
107Futási hiba1ms508 KiB
108Futási hiba2ms316 KiB
109Futási hiba1ms316 KiB
110Futási hiba2ms316 KiB
111Futási hiba1ms316 KiB
112Futási hiba1ms316 KiB
113Futási hiba1ms316 KiB
114Futási hiba1ms316 KiB
115Futási hiba3ms316 KiB
116Futási hiba3ms316 KiB
117Futási hiba3ms316 KiB
118Futási hiba3ms316 KiB
119Futási hiba3ms316 KiB
120Futási hiba2ms316 KiB
121Futási hiba1ms512 KiB
122Futási hiba3ms316 KiB
123Futási hiba1ms316 KiB
124Futási hiba1ms316 KiB
125Futási hiba3ms316 KiB
126Futási hiba3ms508 KiB
127Futási hiba1ms316 KiB
128Futási hiba3ms500 KiB
129Futási hiba1ms500 KiB
130Futási hiba4ms316 KiB
131Futási hiba1ms512 KiB
132Futási hiba1ms500 KiB
133Futási hiba2ms316 KiB
134Futási hiba1ms316 KiB
135Futási hiba1ms512 KiB
136Futási hiba1ms316 KiB
137Futási hiba1ms316 KiB
138Futási hiba1ms316 KiB
139Futási hiba2ms316 KiB
140Futási hiba1ms316 KiB
141Futási hiba2ms316 KiB
142Futási hiba2ms316 KiB
143Futási hiba2ms316 KiB
144Futási hiba2ms316 KiB
145Futási hiba2ms508 KiB
146Futási hiba2ms400 KiB
147Futási hiba2ms316 KiB
148Futási hiba2ms316 KiB
149Futási hiba1ms316 KiB