| Task: | Tree game |
| Sender: | aalto26fm_022 |
| Submission time: | 2026-10-05 17:19:38 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.09 s | details |
| #2 | ACCEPTED | 0.09 s | details |
| #3 | ACCEPTED | 0.09 s | details |
| #4 | ACCEPTED | 0.09 s | details |
| #5 | WRONG ANSWER | 0.09 s | details |
| #6 | ACCEPTED | 0.09 s | details |
| #7 | ACCEPTED | 0.09 s | details |
| #8 | WRONG ANSWER | 0.09 s | details |
| #9 | WRONG ANSWER | 0.09 s | details |
| #10 | ACCEPTED | 0.09 s | details |
| #11 | WRONG ANSWER | 0.09 s | details |
| #12 | ACCEPTED | 0.09 s | details |
| #13 | ACCEPTED | 0.09 s | details |
| #14 | ACCEPTED | 0.09 s | details |
| #15 | ACCEPTED | 0.09 s | details |
| #16 | ACCEPTED | 0.09 s | details |
| #17 | WRONG ANSWER | 0.09 s | details |
| #18 | ACCEPTED | 0.09 s | details |
| #19 | WRONG ANSWER | 0.09 s | details |
| #20 | ACCEPTED | 0.09 s | details |
| #21 | WRONG ANSWER | 0.09 s | details |
| #22 | WRONG ANSWER | 0.09 s | details |
| #23 | WRONG ANSWER | 0.09 s | details |
| #24 | ACCEPTED | 0.09 s | details |
| #25 | WRONG ANSWER | 0.09 s | details |
| #26 | WRONG ANSWER | 0.09 s | details |
| #27 | ACCEPTED | 0.09 s | details |
| #28 | ACCEPTED | 0.09 s | details |
| #29 | WRONG ANSWER | 0.09 s | details |
| #30 | WRONG ANSWER | 0.09 s | details |
| #31 | WRONG ANSWER | 0.09 s | details |
| #32 | WRONG ANSWER | 0.09 s | details |
| #33 | WRONG ANSWER | 0.09 s | details |
| #34 | ACCEPTED | 0.09 s | details |
| #35 | ACCEPTED | 0.09 s | details |
| #36 | WRONG ANSWER | 0.09 s | details |
| #37 | WRONG ANSWER | 0.09 s | details |
| #38 | ACCEPTED | 0.09 s | details |
| #39 | WRONG ANSWER | 0.09 s | details |
| #40 | WRONG ANSWER | 0.09 s | details |
| #41 | ACCEPTED | 0.09 s | details |
| #42 | WRONG ANSWER | 0.09 s | details |
| #43 | WRONG ANSWER | 0.09 s | details |
| #44 | WRONG ANSWER | 0.09 s | details |
| #45 | WRONG ANSWER | 0.09 s | details |
| #46 | WRONG ANSWER | 0.09 s | details |
| #47 | WRONG ANSWER | 0.09 s | details |
| #48 | WRONG ANSWER | 0.09 s | details |
| #49 | WRONG ANSWER | 0.09 s | details |
| #50 | WRONG ANSWER | 0.09 s | details |
| #51 | ACCEPTED | 0.09 s | details |
| #52 | WRONG ANSWER | 0.09 s | details |
| #53 | WRONG ANSWER | 0.09 s | details |
| #54 | WRONG ANSWER | 0.09 s | details |
| #55 | WRONG ANSWER | 0.09 s | details |
| #56 | WRONG ANSWER | 0.09 s | details |
| #57 | WRONG ANSWER | 0.09 s | details |
| #58 | ACCEPTED | 0.09 s | details |
| #59 | WRONG ANSWER | 0.10 s | details |
| #60 | WRONG ANSWER | 0.31 s | details |
| #61 | WRONG ANSWER | 0.32 s | details |
| #62 | ACCEPTED | 0.31 s | details |
| #63 | WRONG ANSWER | 0.31 s | details |
| #64 | ACCEPTED | 0.32 s | details |
| #65 | ACCEPTED | 0.32 s | details |
| #66 | ACCEPTED | 0.32 s | details |
| #67 | ACCEPTED | 0.32 s | details |
| #68 | WRONG ANSWER | 0.31 s | details |
| #69 | WRONG ANSWER | 0.31 s | details |
Code
from dataclasses import dataclass, replace
@dataclass
class Node:
children: list[int]
parent: int
points: int
def main():
n = int(input())
# Id to Node
nodes = {}
a = [int(x) for x in input().split()]
p = [int(x) for x in input().split()]
# Parents and points
for i in range(n):
newNode = Node([], p[i], a[i])
nodes.update({i + 1 : newNode})
# Add children
for i in range(0, n):
if (i + 1) != 1:
parent_id = nodes.get(i + 1).parent
parent_points = nodes.get(parent_id).points
parent_children = nodes.get(parent_id).children
parent_children.append(i + 1)
#print("Adding node: "+str(parent_id)+" with children "+str(parent_children))
nodes.update({parent_id : Node(parent_children, nodes.get(parent_id).parent, parent_points)})
current_index: int = 1
current_node: Node = nodes.get(1)
points: int = 0
while(current_node.children != []):
#print("Current node before cutting: "+str(current_index))
#print(current_node)
#print(points)
# Break links.
best_points = -1
best_node = current_index
for n in current_node.children:
eval_node = nodes.get(n)
if eval_node.points > best_points:
best_points = eval_node.points
best_node = n
updated_kids = current_node.children
updated_kids.remove(best_node)
updated_node: Node = Node(updated_kids, current_node.parent, current_node.points)
nodes.update({current_index : updated_node})
current_node = updated_node
#print("Current node after cutting: "+str(current_index))
#print(current_node)
#print(points)
# Moving.
best_points = -1
best_node = current_index
for n in current_node.children:
eval_node = nodes.get(n)
if eval_node.points > best_points:
best_points = eval_node.points
best_node = n
points += current_node.points
current_index = best_node
current_node = nodes.get(current_index)
#print("Current node after moving: "+str(current_index))
#print(current_node)
#print(points)
print(points)
main()Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 1 8 1 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 0 |
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: WRONG ANSWER
| input |
|---|
| 3 8 8 3 1 1 1 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 8 |
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: WRONG ANSWER
| input |
|---|
| 4 9 10 2 6 1 4 1 1 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 9 |
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 4 7 4 9 2 1 1 1 3 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 7 |
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: WRONG ANSWER
| input |
|---|
| 5 10 2 3 1 4 1 1 1 1 3 |
| correct output |
|---|
| 12 |
| user output |
|---|
| 10 |
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: WRONG ANSWER
| input |
|---|
| 5 5 10 4 6 3 1 1 2 1 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 5 |
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: WRONG ANSWER
| input |
|---|
| 5 4 2 1 3 9 1 1 1 1 1 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 4 |
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: WRONG ANSWER
| 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 |
|---|
| 15 |
Test 22
Verdict: WRONG ANSWER
| 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 |
|---|
| 14 |
Test 23
Verdict: WRONG ANSWER
| 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 |
|---|
| 3 |
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: WRONG ANSWER
| 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 |
|---|
| 8 |
Test 26
Verdict: WRONG ANSWER
| 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 |
|---|
| 5 |
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: WRONG ANSWER
| 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 |
|---|
| 3 |
Test 30
Verdict: WRONG ANSWER
| input |
|---|
| 100 21461600 42077569 474283491 30... |
| correct output |
|---|
| 966865392 |
| user output |
|---|
| 21461600 |
Test 31
Verdict: WRONG ANSWER
| input |
|---|
| 100 578129114 177547714 700400588 ... |
| correct output |
|---|
| 1855515684 |
| user output |
|---|
| 1475476477 |
Test 32
Verdict: WRONG ANSWER
| input |
|---|
| 100 994871996 791076134 5953277 40... |
| correct output |
|---|
| 1814515836 |
| user output |
|---|
| 1566257739 |
Test 33
Verdict: WRONG ANSWER
| input |
|---|
| 100 222228197 71907871 993998009 7... |
| correct output |
|---|
| 1135951805 |
| user output |
|---|
| 1119067095 |
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: WRONG ANSWER
| input |
|---|
| 100 915344 434975452 466660908 159... |
| correct output |
|---|
| 907612293 |
| user output |
|---|
| 733515573 |
Test 37
Verdict: WRONG ANSWER
| input |
|---|
| 100 857806942 521650866 432061350 ... |
| correct output |
|---|
| 2316691892 |
| user output |
|---|
| 1272167858 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 100 126184681 630426411 840357157 ... |
| correct output |
|---|
| 126184681 |
| user output |
|---|
| 126184681 |
Test 39
Verdict: WRONG ANSWER
| input |
|---|
| 100 877496128 782849725 556141400 ... |
| correct output |
|---|
| 2248009755 |
| user output |
|---|
| 1456860939 |
Test 40
Verdict: WRONG ANSWER
| input |
|---|
| 200 903167338 160468896 971358120 ... |
| correct output |
|---|
| 2615788195 |
| user output |
|---|
| 2250918976 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 200 139339061 77281799 316066077 3... |
| correct output |
|---|
| 729411647 |
| user output |
|---|
| 729411647 |
Test 42
Verdict: WRONG ANSWER
| input |
|---|
| 200 19617302 94019529 17298266 328... |
| correct output |
|---|
| 983806343 |
| user output |
|---|
| 19617302 |
Test 43
Verdict: WRONG ANSWER
| input |
|---|
| 200 578170987 336960706 697473976 ... |
| correct output |
|---|
| 1901938137 |
| user output |
|---|
| 1350804745 |
Test 44
Verdict: WRONG ANSWER
| input |
|---|
| 200 956690801 79083637 339599313 1... |
| correct output |
|---|
| 1857249559 |
| user output |
|---|
| 2204308914 |
Test 45
Verdict: WRONG ANSWER
| input |
|---|
| 200 185716349 143762158 115416001 ... |
| correct output |
|---|
| 1057534782 |
| user output |
|---|
| 990147251 |
Test 46
Verdict: WRONG ANSWER
| input |
|---|
| 200 275288896 20815354 254338864 6... |
| correct output |
|---|
| 1267445164 |
| user output |
|---|
| 1019524798 |
Test 47
Verdict: WRONG ANSWER
| input |
|---|
| 200 24900465 555962124 563413635 3... |
| correct output |
|---|
| 747057370 |
| user output |
|---|
| 1195438473 |
Test 48
Verdict: WRONG ANSWER
| input |
|---|
| 200 513524772 254574588 366558027 ... |
| correct output |
|---|
| 2272884295 |
| user output |
|---|
| 513524772 |
Test 49
Verdict: WRONG ANSWER
| input |
|---|
| 200 490774594 733870697 844510835 ... |
| correct output |
|---|
| 1650288517 |
| user output |
|---|
| 2048059552 |
Test 50
Verdict: WRONG ANSWER
| input |
|---|
| 1000 861884121 322555995 898039039 ... |
| correct output |
|---|
| 2972059986 |
| user output |
|---|
| 2603368239 |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 1000 659913933 513100418 571680180 ... |
| correct output |
|---|
| 659913933 |
| user output |
|---|
| 659913933 |
Test 52
Verdict: WRONG ANSWER
| input |
|---|
| 1000 209874718 348676066 464074417 ... |
| correct output |
|---|
| 899398937 |
| user output |
|---|
| 966649086 |
Test 53
Verdict: WRONG ANSWER
| input |
|---|
| 1000 645792798 158522181 659799184 ... |
| correct output |
|---|
| 2154979899 |
| user output |
|---|
| 2074563859 |
Test 54
Verdict: WRONG ANSWER
| input |
|---|
| 1000 859348061 421675209 599301462 ... |
| correct output |
|---|
| 2387245650 |
| user output |
|---|
| 1533855715 |
Test 55
Verdict: WRONG ANSWER
| input |
|---|
| 1000 226879800 528482225 208763773 ... |
| correct output |
|---|
| 1424568237 |
| user output |
|---|
| 226879800 |
Test 56
Verdict: WRONG ANSWER
| input |
|---|
| 1000 233113004 975537019 524093912 ... |
| correct output |
|---|
| 1182124106 |
| user output |
|---|
| 1117181077 |
Test 57
Verdict: WRONG ANSWER
| input |
|---|
| 1000 874049734 75947226 679836952 6... |
| correct output |
|---|
| 2874667578 |
| user output |
|---|
| 1608653648 |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 1000 136403860 348337953 506386641 ... |
| correct output |
|---|
| 136403860 |
| user output |
|---|
| 136403860 |
Test 59
Verdict: WRONG ANSWER
| input |
|---|
| 1000 824089343 410028787 814008876 ... |
| correct output |
|---|
| 1778275291 |
| user output |
|---|
| 1467195246 |
Test 60
Verdict: WRONG ANSWER
| input |
|---|
| 100000 106979616 574727912 291579092 ... |
| correct output |
|---|
| 3411435693 |
| user output |
|---|
| 1050025785 |
Test 61
Verdict: WRONG ANSWER
| input |
|---|
| 100000 834972396 341945130 512367317 ... |
| correct output |
|---|
| 1494272515 |
| user output |
|---|
| 834972396 |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 100000 964109644 356056141 521072685 ... |
| correct output |
|---|
| 1283227450 |
| user output |
|---|
| 1283227450 |
Test 63
Verdict: WRONG ANSWER
| input |
|---|
| 100000 779580014 612148564 793692717 ... |
| correct output |
|---|
| 4717954657 |
| user output |
|---|
| 3330684781 |
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: WRONG ANSWER
| input |
|---|
| 100000 280774790 48087557 668312713 4... |
| correct output |
|---|
| 3930265099 |
| user output |
|---|
| 1933808695 |
Test 69
Verdict: WRONG ANSWER
| input |
|---|
| 100000 866596482 430317267 394041807 ... |
| correct output |
|---|
| 1639137122 |
| user output |
|---|
| 1350823319 |
