| Task: | Tree game |
| Sender: | aalto26fm_017 |
| Submission time: | 2026-10-05 17:34:31 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.05 s | details |
| #2 | ACCEPTED | 0.05 s | details |
| #3 | ACCEPTED | 0.05 s | details |
| #4 | ACCEPTED | 0.05 s | details |
| #5 | ACCEPTED | 0.05 s | details |
| #6 | ACCEPTED | 0.05 s | details |
| #7 | ACCEPTED | 0.05 s | details |
| #8 | ACCEPTED | 0.05 s | details |
| #9 | ACCEPTED | 0.05 s | details |
| #10 | ACCEPTED | 0.05 s | details |
| #11 | ACCEPTED | 0.05 s | details |
| #12 | ACCEPTED | 0.05 s | details |
| #13 | ACCEPTED | 0.05 s | details |
| #14 | ACCEPTED | 0.05 s | details |
| #15 | ACCEPTED | 0.05 s | details |
| #16 | ACCEPTED | 0.05 s | details |
| #17 | ACCEPTED | 0.05 s | details |
| #18 | ACCEPTED | 0.05 s | details |
| #19 | ACCEPTED | 0.05 s | details |
| #20 | ACCEPTED | 0.05 s | details |
| #21 | ACCEPTED | 0.05 s | details |
| #22 | ACCEPTED | 0.05 s | details |
| #23 | ACCEPTED | 0.05 s | details |
| #24 | ACCEPTED | 0.05 s | details |
| #25 | ACCEPTED | 0.05 s | details |
| #26 | ACCEPTED | 0.05 s | details |
| #27 | ACCEPTED | 0.05 s | details |
| #28 | ACCEPTED | 0.05 s | details |
| #29 | ACCEPTED | 0.05 s | details |
| #30 | ACCEPTED | 0.05 s | details |
| #31 | ACCEPTED | 0.05 s | details |
| #32 | ACCEPTED | 0.05 s | details |
| #33 | ACCEPTED | 0.05 s | details |
| #34 | ACCEPTED | 0.05 s | details |
| #35 | ACCEPTED | 0.05 s | details |
| #36 | ACCEPTED | 0.05 s | details |
| #37 | ACCEPTED | 0.05 s | details |
| #38 | ACCEPTED | 0.05 s | details |
| #39 | ACCEPTED | 0.05 s | details |
| #40 | ACCEPTED | 0.05 s | details |
| #41 | ACCEPTED | 0.05 s | details |
| #42 | ACCEPTED | 0.05 s | details |
| #43 | ACCEPTED | 0.05 s | details |
| #44 | ACCEPTED | 0.05 s | details |
| #45 | ACCEPTED | 0.05 s | details |
| #46 | ACCEPTED | 0.05 s | details |
| #47 | ACCEPTED | 0.05 s | details |
| #48 | ACCEPTED | 0.05 s | details |
| #49 | ACCEPTED | 0.05 s | details |
| #50 | ACCEPTED | 0.05 s | details |
| #51 | ACCEPTED | 0.05 s | details |
| #52 | ACCEPTED | 0.05 s | details |
| #53 | ACCEPTED | 0.05 s | details |
| #54 | ACCEPTED | 0.05 s | details |
| #55 | ACCEPTED | 0.05 s | details |
| #56 | ACCEPTED | 0.05 s | details |
| #57 | ACCEPTED | 0.05 s | details |
| #58 | ACCEPTED | 0.05 s | details |
| #59 | ACCEPTED | 0.05 s | details |
| #60 | ACCEPTED | 0.20 s | details |
| #61 | ACCEPTED | 0.12 s | details |
| #62 | ACCEPTED | 0.12 s | details |
| #63 | ACCEPTED | 0.19 s | details |
| #64 | ACCEPTED | 0.12 s | details |
| #65 | ACCEPTED | 0.12 s | details |
| #66 | ACCEPTED | 0.12 s | details |
| #67 | ACCEPTED | 0.12 s | details |
| #68 | ACCEPTED | 0.19 s | details |
| #69 | ACCEPTED | 0.12 s | details |
Code
import sys
from collections import deque, defaultdict, Counter
from heapq import heappush, heappop, heapify
from bisect import bisect_left, bisect_right
from itertools import permutations, combinations, product, accumulate, groupby
from functools import lru_cache, cmp_to_key, reduce
from math import gcd, isqrt, comb, inf, pi, sqrt, atan2, hypot
def main():
data = sys.stdin.buffer.read().split(); idx = 0
n = int(data[idx]); idx += 1
# n, m = map(int, data[idx:idx + 2]); idx += 2
a = list(map(int, data[idx:idx + n])); idx += n
p = list(map(int, data[idx:idx + n])); idx += n
# s = data[idx].decode(); idx += 1
#
#
# # strings
adj = [[] for i in range(n+1)]
for i in range(n):
# parent of i+1 is p[i]
if p[i] == i+1 : continue
adj[p[i]].append(i+1)
# print(adj)
# for _ in range(m):
# a, b = map(int, data[idx:idx + 2]); idx += 2
# g = [data[idx + i].decode() for i in range(n)]; idx += n # grid of n rows, no spaces, strings
# input = sys.stdin.readline
# n, m = map(int, input().split())
# s = input().strip() # strip removes the trailing newline
# for line in sys.stdin: # read until EOF
out = []
def dfs(curr):
# print(curr)
val = a[curr-1]
if len(adj[curr]) >= 2:
neivals = []
for ad in adj[curr]:
neivals.append(dfs(ad))
# print(neivals)
maxval = max(neivals)
neivals.remove(maxval)
val += max(neivals)
# print("->" )
# print(val)
# print(curr, val)
return val
print(dfs(1))
# sys.stdout.write("\n".join(map(str, out)) + "\n") # one value per line
# print(*out) # space separated on one line
# print(f"{ans:.6f}") # float with 6 decimals
# print("\n".join("".join(row) for row in g)) # grid of chars
main()
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 1 8 1 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 8 8 1 1 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 3 3 1 6 1 3 1 |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 3 5 8 4 1 1 2 |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 3 8 8 3 1 1 1 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 4 9 8 1 6 1 1 2 2 |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 4 10 1 4 3 1 1 1 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 4 9 10 2 6 1 4 1 1 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 4 7 4 9 2 1 1 1 3 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 5 9 5 7 7 4 1 1 4 2 4 |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 5 10 2 3 1 4 1 1 1 1 3 |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 5 5 5 4 4 2 1 4 4 1 2 |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 5 6 9 5 9 1 1 1 1 3 1 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 5 7 7 6 3 2 1 1 2 3 3 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 5 10 5 1 7 4 1 1 5 3 1 |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 5 4 2 10 6 1 1 1 2 1 1 |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 5 5 10 4 6 3 1 1 2 1 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 5 9 3 5 1 7 1 5 5 3 1 |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 5 4 2 1 3 9 1 1 1 1 1 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 10 9 1 10 3 4 5 8 9 6 5 1 4 2 1 7 4 8 6 7 8 |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 10 4 7 4 10 6 9 5 4 7 6 1 1 1 2 1 1 8 2 3 3 |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 10 7 2 3 5 3 7 7 9 6 7 1 8 2 7 8 7 1 1 6 7 |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 10 3 3 1 1 5 7 1 2 5 5 1 5 7 2 1 5 8 5 1 1 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 10 1 7 3 10 5 7 8 1 2 6 1 1 1 2 9 2 9 3 2 9 |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 10 6 5 3 10 2 9 1 7 8 9 1 8 5 1 1 10 2 5 8 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 10 5 6 4 5 7 9 5 8 8 4 1 1 4 2 6 1 6 5 1 1 |
| correct output |
|---|
| 13 |
| user output |
|---|
| 13 |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 10 1 5 3 1 5 6 7 9 9 4 1 5 10 9 1 9 9 4 5 5 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 10 5 5 6 9 5 10 6 2 6 8 1 1 4 9 9 1 2 1 6 8 |
| correct output |
|---|
| 10 |
| user output |
|---|
| 10 |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 10 3 2 1 4 4 5 2 4 9 4 1 5 1 2 1 1 3 1 1 9 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 100 21461600 42077569 474283491 30... |
| correct output |
|---|
| 966865392 |
| user output |
|---|
| 966865392 |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 100 578129114 177547714 700400588 ... |
| correct output |
|---|
| 1855515684 |
| user output |
|---|
| 1855515684 |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 100 994871996 791076134 5953277 40... |
| correct output |
|---|
| 1814515836 |
| user output |
|---|
| 1814515836 |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 100 222228197 71907871 993998009 7... |
| correct output |
|---|
| 1135951805 |
| user output |
|---|
| 1135951805 |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 100 579900832 174882180 138713252 ... |
| correct output |
|---|
| 716202927 |
| user output |
|---|
| 716202927 |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 100 189754281 378059061 342381828 ... |
| correct output |
|---|
| 1551273774 |
| user output |
|---|
| 1551273774 |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 100 915344 434975452 466660908 159... |
| correct output |
|---|
| 907612293 |
| user output |
|---|
| 907612293 |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 100 857806942 521650866 432061350 ... |
| correct output |
|---|
| 2316691892 |
| user output |
|---|
| 2316691892 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 100 126184681 630426411 840357157 ... |
| correct output |
|---|
| 126184681 |
| user output |
|---|
| 126184681 |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 100 877496128 782849725 556141400 ... |
| correct output |
|---|
| 2248009755 |
| user output |
|---|
| 2248009755 |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 200 903167338 160468896 971358120 ... |
| correct output |
|---|
| 2615788195 |
| user output |
|---|
| 2615788195 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 200 139339061 77281799 316066077 3... |
| correct output |
|---|
| 729411647 |
| user output |
|---|
| 729411647 |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 200 19617302 94019529 17298266 328... |
| correct output |
|---|
| 983806343 |
| user output |
|---|
| 983806343 |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 200 578170987 336960706 697473976 ... |
| correct output |
|---|
| 1901938137 |
| user output |
|---|
| 1901938137 |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 200 956690801 79083637 339599313 1... |
| correct output |
|---|
| 1857249559 |
| user output |
|---|
| 1857249559 |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 200 185716349 143762158 115416001 ... |
| correct output |
|---|
| 1057534782 |
| user output |
|---|
| 1057534782 |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 200 275288896 20815354 254338864 6... |
| correct output |
|---|
| 1267445164 |
| user output |
|---|
| 1267445164 |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 200 24900465 555962124 563413635 3... |
| correct output |
|---|
| 747057370 |
| user output |
|---|
| 747057370 |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 200 513524772 254574588 366558027 ... |
| correct output |
|---|
| 2272884295 |
| user output |
|---|
| 2272884295 |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 200 490774594 733870697 844510835 ... |
| correct output |
|---|
| 1650288517 |
| user output |
|---|
| 1650288517 |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 1000 861884121 322555995 898039039 ... |
| correct output |
|---|
| 2972059986 |
| user output |
|---|
| 2972059986 |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 1000 659913933 513100418 571680180 ... |
| correct output |
|---|
| 659913933 |
| user output |
|---|
| 659913933 |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 1000 209874718 348676066 464074417 ... |
| correct output |
|---|
| 899398937 |
| user output |
|---|
| 899398937 |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 1000 645792798 158522181 659799184 ... |
| correct output |
|---|
| 2154979899 |
| user output |
|---|
| 2154979899 |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 1000 859348061 421675209 599301462 ... |
| correct output |
|---|
| 2387245650 |
| user output |
|---|
| 2387245650 |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 1000 226879800 528482225 208763773 ... |
| correct output |
|---|
| 1424568237 |
| user output |
|---|
| 1424568237 |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 1000 233113004 975537019 524093912 ... |
| correct output |
|---|
| 1182124106 |
| user output |
|---|
| 1182124106 |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 1000 874049734 75947226 679836952 6... |
| correct output |
|---|
| 2874667578 |
| user output |
|---|
| 2874667578 |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 1000 136403860 348337953 506386641 ... |
| correct output |
|---|
| 136403860 |
| user output |
|---|
| 136403860 |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 1000 824089343 410028787 814008876 ... |
| correct output |
|---|
| 1778275291 |
| user output |
|---|
| 1778275291 |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 100000 106979616 574727912 291579092 ... |
| correct output |
|---|
| 3411435693 |
| user output |
|---|
| 3411435693 |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 100000 834972396 341945130 512367317 ... |
| correct output |
|---|
| 1494272515 |
| user output |
|---|
| 1494272515 |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 100000 964109644 356056141 521072685 ... |
| correct output |
|---|
| 1283227450 |
| user output |
|---|
| 1283227450 |
Test 63
Verdict: ACCEPTED
| input |
|---|
| 100000 779580014 612148564 793692717 ... |
| correct output |
|---|
| 4717954657 |
| user output |
|---|
| 4717954657 |
Test 64
Verdict: ACCEPTED
| input |
|---|
| 100000 124576659 286156851 307400435 ... |
| correct output |
|---|
| 124576659 |
| user output |
|---|
| 124576659 |
Test 65
Verdict: ACCEPTED
| input |
|---|
| 100000 452020023 593221033 326082759 ... |
| correct output |
|---|
| 1178920108 |
| user output |
|---|
| 1178920108 |
Test 66
Verdict: ACCEPTED
| input |
|---|
| 100000 378587281 1836202 116838722 72... |
| correct output |
|---|
| 587215770 |
| user output |
|---|
| 587215770 |
Test 67
Verdict: ACCEPTED
| input |
|---|
| 100000 877997603 741843452 187099247 ... |
| correct output |
|---|
| 1018714881 |
| user output |
|---|
| 1018714881 |
Test 68
Verdict: ACCEPTED
| input |
|---|
| 100000 280774790 48087557 668312713 4... |
| correct output |
|---|
| 3930265099 |
| user output |
|---|
| 3930265099 |
Test 69
Verdict: ACCEPTED
| input |
|---|
| 100000 866596482 430317267 394041807 ... |
| correct output |
|---|
| 1639137122 |
| user output |
|---|
| 1639137122 |
