Submission #74771537
Source Code Expand
import sys
def solve(rev_p, w):
order = []
stack = [0]
while stack:
v = stack.pop()
order.append(v)
for nv in rev_p[v]:
stack.append(nv)
sum_dp = [0] * len(rev_p)
diff_dp = [0] * len(rev_p)
for v in reversed(order):
if len(rev_p[v]) == 0:
sum_dp[v] = w[v]
diff_dp[v] = 0
continue
child_sums = [sum_dp[nv] for nv in rev_p[v]]
child_diffs = [diff_dp[nv] for nv in rev_p[v]]
sum_dp[v] = sum(child_sums)
diff_dp[v] = max(max(child_diffs), max(child_sums) - min(child_sums))
return diff_dp[0]
data = list(map(int, sys.stdin.buffer.read().split()))
ptr = 0
n = data[ptr]
ptr += 1
rev_p = [[] for _ in range(n)]
p = data[ptr:ptr + n - 1]
ptr += n - 1
w = data[ptr:ptr + n]
for i in range(n - 1):
rev_p[p[i] - 1].append(i + 1)
print(solve(rev_p, w))
Submission Info
| Submission Time | |
|---|---|
| Task | C - Imbalance of the Organization |
| User | chachamusics |
| Language | Python (CPython 3.13.7) |
| Score | 366 |
| Code Size | 932 Byte |
| Status | AC |
| Exec Time | 258 ms |
| Memory | 59512 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 366 / 366 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt, sample03.txt |
| All | sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in01.txt | AC | 10 ms | 9204 KiB |
| in02.txt | AC | 10 ms | 9100 KiB |
| in03.txt | AC | 10 ms | 9316 KiB |
| in04.txt | AC | 10 ms | 9324 KiB |
| in05.txt | AC | 10 ms | 9320 KiB |
| in06.txt | AC | 121 ms | 51392 KiB |
| in07.txt | AC | 166 ms | 59336 KiB |
| in08.txt | AC | 258 ms | 57836 KiB |
| in09.txt | AC | 185 ms | 53836 KiB |
| in10.txt | AC | 180 ms | 49836 KiB |
| in11.txt | AC | 168 ms | 59372 KiB |
| in12.txt | AC | 159 ms | 58300 KiB |
| in13.txt | AC | 11 ms | 9316 KiB |
| in14.txt | AC | 150 ms | 59236 KiB |
| in15.txt | AC | 155 ms | 56152 KiB |
| in16.txt | AC | 242 ms | 57108 KiB |
| in17.txt | AC | 119 ms | 51412 KiB |
| in18.txt | AC | 152 ms | 56264 KiB |
| in19.txt | AC | 152 ms | 56260 KiB |
| in20.txt | AC | 152 ms | 56108 KiB |
| in21.txt | AC | 153 ms | 54520 KiB |
| in22.txt | AC | 66 ms | 31244 KiB |
| in23.txt | AC | 11 ms | 9320 KiB |
| in24.txt | AC | 171 ms | 59336 KiB |
| in25.txt | AC | 11 ms | 9324 KiB |
| in26.txt | AC | 11 ms | 9316 KiB |
| in27.txt | AC | 11 ms | 9196 KiB |
| in28.txt | AC | 11 ms | 9276 KiB |
| in29.txt | AC | 169 ms | 59512 KiB |
| in30.txt | AC | 155 ms | 58448 KiB |
| in31.txt | AC | 156 ms | 58460 KiB |
| in32.txt | AC | 244 ms | 57920 KiB |
| in33.txt | AC | 215 ms | 58356 KiB |
| in34.txt | AC | 184 ms | 52188 KiB |
| in35.txt | AC | 166 ms | 59308 KiB |
| in36.txt | AC | 159 ms | 58536 KiB |
| in37.txt | AC | 170 ms | 59248 KiB |
| in38.txt | AC | 157 ms | 58424 KiB |
| in39.txt | AC | 163 ms | 58356 KiB |
| in40.txt | AC | 151 ms | 56916 KiB |
| in41.txt | AC | 11 ms | 9312 KiB |
| in42.txt | AC | 11 ms | 9260 KiB |
| in43.txt | AC | 10 ms | 9204 KiB |
| in44.txt | AC | 10 ms | 9276 KiB |
| in45.txt | AC | 10 ms | 9208 KiB |
| in46.txt | AC | 10 ms | 9324 KiB |
| in47.txt | AC | 10 ms | 9276 KiB |
| in48.txt | AC | 10 ms | 9180 KiB |
| in49.txt | AC | 10 ms | 9100 KiB |
| in50.txt | AC | 10 ms | 9100 KiB |
| in51.txt | AC | 10 ms | 9324 KiB |
| in52.txt | AC | 10 ms | 9316 KiB |
| in53.txt | AC | 10 ms | 9312 KiB |
| sample01.txt | AC | 10 ms | 9212 KiB |
| sample02.txt | AC | 10 ms | 9176 KiB |
| sample03.txt | AC | 10 ms | 9156 KiB |