290232026-06-03 18:17:41algoproVállalati ügyeletcpp17Elfogadva 100/100545ms54324 KiB
// UUID: f1594cb5-c2c5-48c4-aafc-29f25c4c3ae6
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> gr;
vector<int> ans;
vector<set<int>> mex;
void dfs(int x){
	for(int i:gr[x]){
		dfs(i);
		if(mex[i].size()>mex[x].size())swap(mex[i], mex[x]);
		ans[x]=max(ans[x], ans[i]);
		mex[x].merge(mex[i]);
	}
	while(mex[x].find(ans[x])!=mex[x].end()) ans[x]++;
}
int main() {
	int n;
	cin>>n;
	gr.resize(n+1);
	mex.resize(n + 1);
	ans.resize(n + 1, 1);
	for (int i=1;i<=n;i++){
		int a;
		cin>>a;
		gr[a].push_back(i);
	}
	for(int i=1;i<=n;i++){
		int a;
		cin>>a;
		mex[i].insert(a);
	}
	dfs(1);
	for(int i=1;i<=n;i++){
		cout<<ans[i]<<' ';
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva289ms29492 KiB
subtask25/5
3Elfogadva3ms316 KiB
4Elfogadva3ms500 KiB
5Elfogadva2ms316 KiB
6Elfogadva3ms316 KiB
subtask38/8
7Elfogadva3ms316 KiB
8Elfogadva3ms500 KiB
9Elfogadva2ms316 KiB
10Elfogadva3ms316 KiB
11Elfogadva178ms25772 KiB
12Elfogadva184ms25652 KiB
13Elfogadva202ms25768 KiB
14Elfogadva273ms25848 KiB
subtask412/12
15Elfogadva3ms316 KiB
16Elfogadva3ms500 KiB
17Elfogadva2ms316 KiB
18Elfogadva3ms316 KiB
19Elfogadva250ms53624 KiB
20Elfogadva263ms53552 KiB
21Elfogadva284ms53300 KiB
22Elfogadva400ms53044 KiB
23Elfogadva310ms54324 KiB
24Elfogadva279ms53812 KiB
subtask517/17
25Elfogadva3ms316 KiB
26Elfogadva3ms500 KiB
27Elfogadva2ms316 KiB
28Elfogadva3ms316 KiB
29Elfogadva4ms748 KiB
30Elfogadva4ms820 KiB
31Elfogadva4ms820 KiB
32Elfogadva4ms564 KiB
33Elfogadva4ms564 KiB
34Elfogadva3ms564 KiB
35Elfogadva4ms564 KiB
36Elfogadva3ms564 KiB
37Elfogadva4ms740 KiB
38Elfogadva3ms564 KiB
39Elfogadva3ms608 KiB
40Elfogadva3ms564 KiB
41Elfogadva4ms564 KiB
subtask628/28
42Elfogadva331ms28504 KiB
43Elfogadva321ms31024 KiB
44Elfogadva312ms35892 KiB
45Elfogadva319ms42036 KiB
46Elfogadva303ms47504 KiB
47Elfogadva312ms51764 KiB
48Elfogadva259ms25820 KiB
49Elfogadva397ms53112 KiB
50Elfogadva300ms54068 KiB
subtask730/30
51Elfogadva2ms316 KiB
52Elfogadva280ms29488 KiB
53Elfogadva3ms316 KiB
54Elfogadva3ms500 KiB
55Elfogadva2ms316 KiB
56Elfogadva3ms316 KiB
57Elfogadva178ms25772 KiB
58Elfogadva184ms25652 KiB
59Elfogadva202ms25768 KiB
60Elfogadva273ms25848 KiB
61Elfogadva250ms53624 KiB
62Elfogadva263ms53552 KiB
63Elfogadva284ms53300 KiB
64Elfogadva400ms53044 KiB
65Elfogadva310ms54324 KiB
66Elfogadva279ms53812 KiB
67Elfogadva4ms748 KiB
68Elfogadva4ms820 KiB
69Elfogadva4ms820 KiB
70Elfogadva4ms564 KiB
71Elfogadva4ms564 KiB
72Elfogadva3ms564 KiB
73Elfogadva4ms564 KiB
74Elfogadva3ms564 KiB
75Elfogadva4ms740 KiB
76Elfogadva3ms564 KiB
77Elfogadva3ms608 KiB
78Elfogadva3ms564 KiB
79Elfogadva4ms564 KiB
80Elfogadva331ms28504 KiB
81Elfogadva321ms31024 KiB
82Elfogadva312ms35892 KiB
83Elfogadva319ms42036 KiB
84Elfogadva303ms47504 KiB
85Elfogadva312ms51764 KiB
86Elfogadva259ms25820 KiB
87Elfogadva397ms53112 KiB
88Elfogadva300ms54068 KiB
89Elfogadva312ms28208 KiB
90Elfogadva384ms28212 KiB
91Elfogadva545ms28276 KiB
92Elfogadva479ms28212 KiB
93Elfogadva280ms35124 KiB
94Elfogadva331ms41012 KiB
95Elfogadva360ms47156 KiB
96Elfogadva284ms30260 KiB
97Elfogadva268ms31284 KiB
98Elfogadva270ms33336 KiB
99Elfogadva312ms29748 KiB
100Elfogadva277ms32824 KiB
101Elfogadva275ms38196 KiB