10802 2024. 04. 14 11:48:20 Ablablabla Vállalati ügyelet cpp17 Elfogadva 100/100 587ms 155764 KiB
#include <bits/stdc++.h>

using namespace std;

vector<int> ans;
vector<set<int>> lefed;
vector<vector<int>> csucsok;
vector<int> vallal;

void dfs(int akt, int elozo){
    int maxi = 1;
    lefed[akt].insert(vallal[akt]);
    for(int x : csucsok[akt]){
        assert(x != elozo);

        dfs(x, akt);
        maxi = max(maxi, ans[x]);

        if(lefed[akt].size() < lefed[x].size()){
            swap(lefed[akt], lefed[x]);
        }

        for(int y : lefed[x]){
            lefed[akt].insert(y);
        }
    }

    while(lefed[akt].count(maxi) > 0){
        maxi++;
    }

    ans[akt] = maxi;
}

int main()
{
    int n;
    cin >> n;

    vector<int> szulo(n);
    for(int &x : szulo){
        cin >> x;
        x--;
    }

    csucsok.assign(n, vector<int>());
    for(int i = 1; i < n; i++){
        csucsok[szulo[i]].push_back(i);
    }

    vallal.assign(n, 0);
    for(int &x : vallal){
        cin >> x;
    }

    ans.assign(n, 1);
    lefed.assign(n, set<int>());

    dfs(0, -1);

    for(int x : ans){
        cout << x << " ";
    }
    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1808 KiB
2 Elfogadva 314ms 99064 KiB
subtask2 5/5
3 Elfogadva 3ms 2384 KiB
4 Elfogadva 3ms 2480 KiB
5 Elfogadva 3ms 2636 KiB
6 Elfogadva 3ms 2872 KiB
subtask3 8/8
7 Elfogadva 3ms 2384 KiB
8 Elfogadva 3ms 2480 KiB
9 Elfogadva 3ms 2636 KiB
10 Elfogadva 3ms 2872 KiB
11 Elfogadva 184ms 57120 KiB
12 Elfogadva 194ms 58148 KiB
13 Elfogadva 211ms 58972 KiB
14 Elfogadva 303ms 75348 KiB
subtask4 12/12
15 Elfogadva 3ms 2384 KiB
16 Elfogadva 3ms 2480 KiB
17 Elfogadva 3ms 2636 KiB
18 Elfogadva 3ms 2872 KiB
19 Elfogadva 256ms 112236 KiB
20 Elfogadva 263ms 113232 KiB
21 Elfogadva 270ms 114344 KiB
22 Elfogadva 358ms 130256 KiB
23 Elfogadva 326ms 130428 KiB
24 Elfogadva 284ms 121040 KiB
subtask5 17/17
25 Elfogadva 3ms 2384 KiB
26 Elfogadva 3ms 2480 KiB
27 Elfogadva 3ms 2636 KiB
28 Elfogadva 3ms 2872 KiB
29 Elfogadva 4ms 4520 KiB
30 Elfogadva 4ms 5044 KiB
31 Elfogadva 4ms 5040 KiB
32 Elfogadva 6ms 5064 KiB
33 Elfogadva 6ms 5084 KiB
34 Elfogadva 4ms 4648 KiB
35 Elfogadva 6ms 5420 KiB
36 Elfogadva 4ms 5104 KiB
37 Elfogadva 6ms 5356 KiB
38 Elfogadva 6ms 5340 KiB
39 Elfogadva 4ms 5260 KiB
40 Elfogadva 6ms 5396 KiB
41 Elfogadva 4ms 5640 KiB
subtask6 28/28
42 Elfogadva 409ms 120712 KiB
43 Elfogadva 367ms 109276 KiB
44 Elfogadva 337ms 109512 KiB
45 Elfogadva 335ms 115488 KiB
46 Elfogadva 338ms 122412 KiB
47 Elfogadva 314ms 128352 KiB
48 Elfogadva 324ms 77076 KiB
49 Elfogadva 356ms 131460 KiB
50 Elfogadva 326ms 131592 KiB
subtask7 30/30
51 Elfogadva 3ms 5056 KiB
52 Elfogadva 314ms 101840 KiB
53 Elfogadva 3ms 2384 KiB
54 Elfogadva 3ms 2480 KiB
55 Elfogadva 3ms 2636 KiB
56 Elfogadva 3ms 2872 KiB
57 Elfogadva 184ms 57120 KiB
58 Elfogadva 194ms 58148 KiB
59 Elfogadva 211ms 58972 KiB
60 Elfogadva 303ms 75348 KiB
61 Elfogadva 256ms 112236 KiB
62 Elfogadva 263ms 113232 KiB
63 Elfogadva 270ms 114344 KiB
64 Elfogadva 358ms 130256 KiB
65 Elfogadva 326ms 130428 KiB
66 Elfogadva 284ms 121040 KiB
67 Elfogadva 4ms 4520 KiB
68 Elfogadva 4ms 5044 KiB
69 Elfogadva 4ms 5040 KiB
70 Elfogadva 6ms 5064 KiB
71 Elfogadva 6ms 5084 KiB
72 Elfogadva 4ms 4648 KiB
73 Elfogadva 6ms 5420 KiB
74 Elfogadva 4ms 5104 KiB
75 Elfogadva 6ms 5356 KiB
76 Elfogadva 6ms 5340 KiB
77 Elfogadva 4ms 5260 KiB
78 Elfogadva 6ms 5396 KiB
79 Elfogadva 4ms 5640 KiB
80 Elfogadva 409ms 120712 KiB
81 Elfogadva 367ms 109276 KiB
82 Elfogadva 337ms 109512 KiB
83 Elfogadva 335ms 115488 KiB
84 Elfogadva 338ms 122412 KiB
85 Elfogadva 314ms 128352 KiB
86 Elfogadva 324ms 77076 KiB
87 Elfogadva 356ms 131460 KiB
88 Elfogadva 326ms 131592 KiB
89 Elfogadva 365ms 96632 KiB
90 Elfogadva 361ms 103472 KiB
91 Elfogadva 587ms 143808 KiB
92 Elfogadva 546ms 155764 KiB
93 Elfogadva 314ms 102608 KiB
94 Elfogadva 365ms 114800 KiB
95 Elfogadva 349ms 127332 KiB
96 Elfogadva 331ms 98836 KiB
97 Elfogadva 293ms 98340 KiB
98 Elfogadva 296ms 99724 KiB
99 Elfogadva 342ms 107816 KiB
100 Elfogadva 321ms 101844 KiB
101 Elfogadva 305ms 107548 KiB