10710 2024. 04. 10 09:44:50 szil Vállalati ügyelet cpp17 Elfogadva 100/100 490ms 145280 KiB
#include <bits/stdc++.h>


using namespace std;
using ll = long long;

const int MAXN = 200'001;

int a[MAXN], p[MAXN], ans[MAXN];
set<int> t[MAXN];
vector<int> g[MAXN];

void dfs(int u) {
    ans[u] = 1;
    for (int v : g[u]) {
        dfs(v);
        if (t[v].size() > t[u].size()) swap(t[u], t[v]);
        for (int i : t[v]) t[u].insert(i);
        ans[u] = max(ans[u], ans[v]);
    }
    t[u].insert(a[u]);
    while (t[u].count(ans[u])) ans[u]++;
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n; cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> p[i];
        g[p[i]].emplace_back(i);
    }
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    dfs(1);
    for (int i = 1; i <= n; i++) {
        cout << ans[i] << " ";
    }
    cout << "\n";
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 13ms 30084 KiB
2 Elfogadva 214ms 86264 KiB
subtask2 5/5
3 Elfogadva 12ms 30584 KiB
4 Elfogadva 14ms 30796 KiB
5 Elfogadva 13ms 31008 KiB
6 Elfogadva 14ms 31232 KiB
subtask3 8/8
7 Elfogadva 12ms 30584 KiB
8 Elfogadva 14ms 30796 KiB
9 Elfogadva 13ms 31008 KiB
10 Elfogadva 14ms 31232 KiB
11 Elfogadva 120ms 57004 KiB
12 Elfogadva 130ms 57916 KiB
13 Elfogadva 138ms 58900 KiB
14 Elfogadva 232ms 75044 KiB
subtask4 12/12
15 Elfogadva 12ms 30584 KiB
16 Elfogadva 14ms 30796 KiB
17 Elfogadva 13ms 31008 KiB
18 Elfogadva 14ms 31232 KiB
19 Elfogadva 143ms 99548 KiB
20 Elfogadva 156ms 100704 KiB
21 Elfogadva 160ms 101856 KiB
22 Elfogadva 230ms 117804 KiB
23 Elfogadva 215ms 118140 KiB
24 Elfogadva 174ms 108648 KiB
subtask5 17/17
25 Elfogadva 12ms 30584 KiB
26 Elfogadva 14ms 30796 KiB
27 Elfogadva 13ms 31008 KiB
28 Elfogadva 14ms 31232 KiB
29 Elfogadva 14ms 32444 KiB
30 Elfogadva 14ms 32784 KiB
31 Elfogadva 14ms 32812 KiB
32 Elfogadva 14ms 32680 KiB
33 Elfogadva 14ms 32812 KiB
34 Elfogadva 16ms 32512 KiB
35 Elfogadva 17ms 33140 KiB
36 Elfogadva 17ms 33208 KiB
37 Elfogadva 17ms 33424 KiB
38 Elfogadva 17ms 33220 KiB
39 Elfogadva 17ms 33136 KiB
40 Elfogadva 17ms 33204 KiB
41 Elfogadva 14ms 33444 KiB
subtask6 28/28
42 Elfogadva 270ms 110088 KiB
43 Elfogadva 236ms 98308 KiB
44 Elfogadva 219ms 98184 KiB
45 Elfogadva 230ms 103756 KiB
46 Elfogadva 215ms 110180 KiB
47 Elfogadva 201ms 115936 KiB
48 Elfogadva 236ms 76644 KiB
49 Elfogadva 246ms 119044 KiB
50 Elfogadva 214ms 118972 KiB
subtask7 30/30
51 Elfogadva 13ms 33020 KiB
52 Elfogadva 215ms 88964 KiB
53 Elfogadva 12ms 30584 KiB
54 Elfogadva 14ms 30796 KiB
55 Elfogadva 13ms 31008 KiB
56 Elfogadva 14ms 31232 KiB
57 Elfogadva 120ms 57004 KiB
58 Elfogadva 130ms 57916 KiB
59 Elfogadva 138ms 58900 KiB
60 Elfogadva 232ms 75044 KiB
61 Elfogadva 143ms 99548 KiB
62 Elfogadva 156ms 100704 KiB
63 Elfogadva 160ms 101856 KiB
64 Elfogadva 230ms 117804 KiB
65 Elfogadva 215ms 118140 KiB
66 Elfogadva 174ms 108648 KiB
67 Elfogadva 14ms 32444 KiB
68 Elfogadva 14ms 32784 KiB
69 Elfogadva 14ms 32812 KiB
70 Elfogadva 14ms 32680 KiB
71 Elfogadva 14ms 32812 KiB
72 Elfogadva 16ms 32512 KiB
73 Elfogadva 17ms 33140 KiB
74 Elfogadva 17ms 33208 KiB
75 Elfogadva 17ms 33424 KiB
76 Elfogadva 17ms 33220 KiB
77 Elfogadva 17ms 33136 KiB
78 Elfogadva 17ms 33204 KiB
79 Elfogadva 14ms 33444 KiB
80 Elfogadva 270ms 110088 KiB
81 Elfogadva 236ms 98308 KiB
82 Elfogadva 219ms 98184 KiB
83 Elfogadva 230ms 103756 KiB
84 Elfogadva 215ms 110180 KiB
85 Elfogadva 201ms 115936 KiB
86 Elfogadva 236ms 76644 KiB
87 Elfogadva 246ms 119044 KiB
88 Elfogadva 214ms 118972 KiB
89 Elfogadva 280ms 86116 KiB
90 Elfogadva 305ms 92852 KiB
91 Elfogadva 384ms 133484 KiB
92 Elfogadva 490ms 145280 KiB
93 Elfogadva 209ms 89828 KiB
94 Elfogadva 272ms 102252 KiB
95 Elfogadva 240ms 114464 KiB
96 Elfogadva 210ms 85180 KiB
97 Elfogadva 197ms 84532 KiB
98 Elfogadva 201ms 85840 KiB
99 Elfogadva 254ms 96436 KiB
100 Elfogadva 219ms 88924 KiB
101 Elfogadva 194ms 94340 KiB