107102024-04-10 09:44:50szilVállalati ügyeletcpp17Elfogadva 100/100490ms145280 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva13ms30084 KiB
2Elfogadva214ms86264 KiB
subtask25/5
3Elfogadva12ms30584 KiB
4Elfogadva14ms30796 KiB
5Elfogadva13ms31008 KiB
6Elfogadva14ms31232 KiB
subtask38/8
7Elfogadva12ms30584 KiB
8Elfogadva14ms30796 KiB
9Elfogadva13ms31008 KiB
10Elfogadva14ms31232 KiB
11Elfogadva120ms57004 KiB
12Elfogadva130ms57916 KiB
13Elfogadva138ms58900 KiB
14Elfogadva232ms75044 KiB
subtask412/12
15Elfogadva12ms30584 KiB
16Elfogadva14ms30796 KiB
17Elfogadva13ms31008 KiB
18Elfogadva14ms31232 KiB
19Elfogadva143ms99548 KiB
20Elfogadva156ms100704 KiB
21Elfogadva160ms101856 KiB
22Elfogadva230ms117804 KiB
23Elfogadva215ms118140 KiB
24Elfogadva174ms108648 KiB
subtask517/17
25Elfogadva12ms30584 KiB
26Elfogadva14ms30796 KiB
27Elfogadva13ms31008 KiB
28Elfogadva14ms31232 KiB
29Elfogadva14ms32444 KiB
30Elfogadva14ms32784 KiB
31Elfogadva14ms32812 KiB
32Elfogadva14ms32680 KiB
33Elfogadva14ms32812 KiB
34Elfogadva16ms32512 KiB
35Elfogadva17ms33140 KiB
36Elfogadva17ms33208 KiB
37Elfogadva17ms33424 KiB
38Elfogadva17ms33220 KiB
39Elfogadva17ms33136 KiB
40Elfogadva17ms33204 KiB
41Elfogadva14ms33444 KiB
subtask628/28
42Elfogadva270ms110088 KiB
43Elfogadva236ms98308 KiB
44Elfogadva219ms98184 KiB
45Elfogadva230ms103756 KiB
46Elfogadva215ms110180 KiB
47Elfogadva201ms115936 KiB
48Elfogadva236ms76644 KiB
49Elfogadva246ms119044 KiB
50Elfogadva214ms118972 KiB
subtask730/30
51Elfogadva13ms33020 KiB
52Elfogadva215ms88964 KiB
53Elfogadva12ms30584 KiB
54Elfogadva14ms30796 KiB
55Elfogadva13ms31008 KiB
56Elfogadva14ms31232 KiB
57Elfogadva120ms57004 KiB
58Elfogadva130ms57916 KiB
59Elfogadva138ms58900 KiB
60Elfogadva232ms75044 KiB
61Elfogadva143ms99548 KiB
62Elfogadva156ms100704 KiB
63Elfogadva160ms101856 KiB
64Elfogadva230ms117804 KiB
65Elfogadva215ms118140 KiB
66Elfogadva174ms108648 KiB
67Elfogadva14ms32444 KiB
68Elfogadva14ms32784 KiB
69Elfogadva14ms32812 KiB
70Elfogadva14ms32680 KiB
71Elfogadva14ms32812 KiB
72Elfogadva16ms32512 KiB
73Elfogadva17ms33140 KiB
74Elfogadva17ms33208 KiB
75Elfogadva17ms33424 KiB
76Elfogadva17ms33220 KiB
77Elfogadva17ms33136 KiB
78Elfogadva17ms33204 KiB
79Elfogadva14ms33444 KiB
80Elfogadva270ms110088 KiB
81Elfogadva236ms98308 KiB
82Elfogadva219ms98184 KiB
83Elfogadva230ms103756 KiB
84Elfogadva215ms110180 KiB
85Elfogadva201ms115936 KiB
86Elfogadva236ms76644 KiB
87Elfogadva246ms119044 KiB
88Elfogadva214ms118972 KiB
89Elfogadva280ms86116 KiB
90Elfogadva305ms92852 KiB
91Elfogadva384ms133484 KiB
92Elfogadva490ms145280 KiB
93Elfogadva209ms89828 KiB
94Elfogadva272ms102252 KiB
95Elfogadva240ms114464 KiB
96Elfogadva210ms85180 KiB
97Elfogadva197ms84532 KiB
98Elfogadva201ms85840 KiB
99Elfogadva254ms96436 KiB
100Elfogadva219ms88924 KiB
101Elfogadva194ms94340 KiB