109572024-04-20 18:46:3942Vállalati ügyeletpypy3Időlimit túllépés 70/1001.052s248688 KiB
from sys import stdin, stdout
input=stdin.readline

def main():
    N = int(input())
    P = [0]+list(map(int, input().split()))
    A = [0]+list(map(int, input().split()))
    res=[1]*(N+1)
    for i in range(N,0,-1):
        cur=A.pop()
        if isinstance(cur,int):
            cur={cur}
        while res[i] in cur:
            cur.remove(res[i])
            res[i]+=1
        res[P[i]]=max(res[i],res[P[i]])
        if isinstance(A[P[i]],int):
            cur.add(A[P[i]])
            A[P[i]]=cur
        else:
            if len(A[P[i]]) >= len(cur)-100:
                A[P[i]].update(cur)
                #A[P[i]]=A[P[i]].union(cur)
                #A[P[i]] |= cur
            else:
                A[P[i]] = cur.union(A[P[i]])
    for i in range(1,N+1):
        stdout.write(str(res[i])+' ')
    stdout.write('\n')
        
main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva39ms76664 KiB
2Elfogadva289ms181792 KiB
subtask25/5
3Elfogadva41ms77332 KiB
4Elfogadva46ms77020 KiB
5Elfogadva43ms77488 KiB
6Elfogadva46ms77396 KiB
subtask38/8
7Elfogadva41ms77332 KiB
8Elfogadva46ms77020 KiB
9Elfogadva43ms77488 KiB
10Elfogadva46ms77396 KiB
11Elfogadva182ms176828 KiB
12Elfogadva184ms176892 KiB
13Elfogadva212ms176816 KiB
14Elfogadva250ms179872 KiB
subtask412/12
15Elfogadva41ms77332 KiB
16Elfogadva46ms77020 KiB
17Elfogadva43ms77488 KiB
18Elfogadva46ms77396 KiB
19Elfogadva199ms182708 KiB
20Elfogadva178ms177340 KiB
21Elfogadva209ms178956 KiB
22Elfogadva234ms184748 KiB
23Elfogadva197ms182340 KiB
24Elfogadva219ms179920 KiB
subtask517/17
25Elfogadva41ms77332 KiB
26Elfogadva46ms77020 KiB
27Elfogadva43ms77488 KiB
28Elfogadva46ms77396 KiB
29Elfogadva65ms92272 KiB
30Elfogadva67ms91456 KiB
31Elfogadva68ms91676 KiB
32Elfogadva72ms91920 KiB
33Elfogadva75ms91468 KiB
34Elfogadva74ms91616 KiB
35Elfogadva75ms91748 KiB
36Elfogadva67ms91968 KiB
37Elfogadva71ms92304 KiB
38Elfogadva74ms92516 KiB
39Elfogadva75ms92704 KiB
40Elfogadva72ms92768 KiB
41Elfogadva78ms92292 KiB
subtask628/28
42Elfogadva316ms180716 KiB
43Elfogadva347ms184124 KiB
44Elfogadva381ms184152 KiB
45Elfogadva381ms184120 KiB
46Elfogadva273ms183576 KiB
47Elfogadva223ms183748 KiB
48Elfogadva217ms182808 KiB
49Elfogadva201ms186468 KiB
50Elfogadva197ms183688 KiB
subtask70/30
51Elfogadva48ms80512 KiB
52Elfogadva273ms185644 KiB
53Elfogadva41ms77332 KiB
54Elfogadva46ms77020 KiB
55Elfogadva43ms77488 KiB
56Elfogadva46ms77396 KiB
57Elfogadva182ms176828 KiB
58Elfogadva184ms176892 KiB
59Elfogadva212ms176816 KiB
60Elfogadva250ms179872 KiB
61Elfogadva199ms182708 KiB
62Elfogadva178ms177340 KiB
63Elfogadva209ms178956 KiB
64Elfogadva234ms184748 KiB
65Elfogadva197ms182340 KiB
66Elfogadva219ms179920 KiB
67Elfogadva65ms92272 KiB
68Elfogadva67ms91456 KiB
69Elfogadva68ms91676 KiB
70Elfogadva72ms91920 KiB
71Elfogadva75ms91468 KiB
72Elfogadva74ms91616 KiB
73Elfogadva75ms91748 KiB
74Elfogadva67ms91968 KiB
75Elfogadva71ms92304 KiB
76Elfogadva74ms92516 KiB
77Elfogadva75ms92704 KiB
78Elfogadva72ms92768 KiB
79Elfogadva78ms92292 KiB
80Elfogadva316ms180716 KiB
81Elfogadva347ms184124 KiB
82Elfogadva381ms184152 KiB
83Elfogadva381ms184120 KiB
84Elfogadva273ms183576 KiB
85Elfogadva223ms183748 KiB
86Elfogadva217ms182808 KiB
87Elfogadva201ms186468 KiB
88Elfogadva197ms183688 KiB
89Elfogadva430ms199600 KiB
90Elfogadva351ms201676 KiB
91Elfogadva407ms239448 KiB
92Elfogadva430ms248688 KiB
93Időlimit túllépés1.052s94568 KiB
94Időlimit túllépés1.032s92432 KiB
95Elfogadva282ms188056 KiB
96Elfogadva474ms221156 KiB
97Elfogadva296ms186220 KiB
98Elfogadva270ms181332 KiB
99Elfogadva293ms180040 KiB
100Elfogadva275ms179844 KiB
101Elfogadva239ms185940 KiB