157282025-02-24 21:17:27TaxiradioVállalati ügyeletcpp17Futási hiba 0/100310ms38996 KiB
// Source: https://usaco.guide/general/io

#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> g , b;
vector<int> a , ans;
vector<array<int , 2>> c;

int t = 0;

void dfs(int h){
    c[h][0] = t++;
    b[a[h]].push_back(c[h][0]);
    for(int x : g[h])dfs(x);
    c[h][1] = t++;
}

int dfs2(int h){
    ans[h] = 1;
    for(int x : g[h])ans[h] = max(dfs2(x) , ans[h]);
    while(*lower_bound(b[ans[h]].begin() , b[ans[h]].end() , c[h][0]) <= c[h][1])ans[h]++;
    return ans[h];
}

int main() {
	int n; cin >> n;
    g.resize(n);
    b.resize(n+1);
    ans.resize(n);
    c.resize(n);
    for(int i = 0; i < n; i++){
        int y; cin >> y;y--;
        if(y != -1)g[y].push_back(i);
    }
    for(int i = 0; i < n; i++){
        int y; cin >> y;
        a.push_back(y);
    }
    dfs(0);
    for(int i = 0; i < b.size(); i++){
        b[i].push_back(1000000);
    }
    dfs2(0);
    for(int x : ans)cout << x << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva223ms26536 KiB
subtask20/5
3Elfogadva1ms508 KiB
4Futási hiba1ms316 KiB
5Futási hiba1ms316 KiB
6Elfogadva1ms500 KiB
subtask30/8
7Elfogadva1ms508 KiB
8Futási hiba1ms316 KiB
9Futási hiba1ms316 KiB
10Elfogadva1ms500 KiB
11Elfogadva152ms22568 KiB
12Elfogadva160ms22668 KiB
13Elfogadva171ms22560 KiB
14Futási hiba156ms21800 KiB
subtask40/12
15Elfogadva1ms508 KiB
16Futási hiba1ms316 KiB
17Futási hiba1ms316 KiB
18Elfogadva1ms500 KiB
19Elfogadva219ms38996 KiB
20Elfogadva238ms38824 KiB
21Elfogadva239ms38564 KiB
22Futási hiba221ms37440 KiB
23Futási hiba200ms37284 KiB
24Elfogadva230ms38564 KiB
subtask50/17
25Elfogadva1ms508 KiB
26Futási hiba1ms316 KiB
27Futási hiba1ms316 KiB
28Elfogadva1ms500 KiB
29Futási hiba3ms756 KiB
30Futási hiba3ms820 KiB
31Futási hiba3ms820 KiB
32Futási hiba3ms756 KiB
33Futási hiba3ms564 KiB
34Elfogadva3ms756 KiB
35Futási hiba3ms564 KiB
36Elfogadva3ms564 KiB
37Futási hiba3ms636 KiB
38Elfogadva3ms564 KiB
39Elfogadva3ms564 KiB
40Elfogadva3ms564 KiB
41Elfogadva3ms564 KiB
subtask60/28
42Futási hiba223ms25004 KiB
43Futási hiba210ms26032 KiB
44Futási hiba199ms28328 KiB
45Futási hiba201ms31400 KiB
46Futási hiba201ms34032 KiB
47Futási hiba209ms36096 KiB
48Futási hiba151ms21540 KiB
49Futási hiba244ms37360 KiB
50Futási hiba200ms37396 KiB
subtask70/30
51Elfogadva1ms500 KiB
52Elfogadva209ms24232 KiB
53Elfogadva1ms508 KiB
54Futási hiba1ms316 KiB
55Futási hiba1ms316 KiB
56Elfogadva1ms500 KiB
57Elfogadva152ms22568 KiB
58Elfogadva160ms22668 KiB
59Elfogadva171ms22560 KiB
60Futási hiba156ms21800 KiB
61Elfogadva219ms38996 KiB
62Elfogadva238ms38824 KiB
63Elfogadva239ms38564 KiB
64Futási hiba221ms37440 KiB
65Futási hiba200ms37284 KiB
66Elfogadva230ms38564 KiB
67Futási hiba3ms756 KiB
68Futási hiba3ms820 KiB
69Futási hiba3ms820 KiB
70Futási hiba3ms756 KiB
71Futási hiba3ms564 KiB
72Elfogadva3ms756 KiB
73Futási hiba3ms564 KiB
74Elfogadva3ms564 KiB
75Futási hiba3ms636 KiB
76Elfogadva3ms564 KiB
77Elfogadva3ms564 KiB
78Elfogadva3ms564 KiB
79Elfogadva3ms564 KiB
80Futási hiba223ms25004 KiB
81Futási hiba210ms26032 KiB
82Futási hiba199ms28328 KiB
83Futási hiba201ms31400 KiB
84Futási hiba201ms34032 KiB
85Futási hiba209ms36096 KiB
86Futási hiba151ms21540 KiB
87Futási hiba244ms37360 KiB
88Futási hiba200ms37396 KiB
89Elfogadva282ms25520 KiB
90Elfogadva284ms25520 KiB
91Elfogadva282ms25280 KiB
92Futási hiba310ms24808 KiB
93Elfogadva245ms28840 KiB
94Elfogadva270ms31908 KiB
95Futási hiba211ms34288 KiB
96Elfogadva216ms27540 KiB
97Elfogadva209ms27820 KiB
98Elfogadva214ms28428 KiB
99Elfogadva233ms26536 KiB
100Elfogadva212ms27988 KiB
101Elfogadva215ms30576 KiB