Submission #1530852
Source Code Expand
from collections import defaultdict from itertools import product memo = {} def dfs(i, g): if i in memo: return memo[i] l = [dfs(b, g) for b in g[i]] if len(l) == 0: memo[i] = 1 else: memo[i] = max(l) + min(l) + 1 return memo[i] def main(): N = int(input()) g = defaultdict(list) for i in range(N - 1): g[int(input())].append(i + 2) print(dfs(1, g)) if __name__ == '__main__': main()
Submission Info
Submission Time | |
---|---|
Task | C - 高橋君の給料 |
User | MitI_7 |
Language | Python (3.4.3) |
Score | 100 |
Code Size | 496 Byte |
Status | AC |
Exec Time | 20 ms |
Memory | 3316 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example_0.txt, example_1.txt, example_2.txt, example_3.txt |
All | example_0.txt, example_1.txt, example_2.txt, example_3.txt, maxrand_0.txt, maxrand_1.txt, maxrand_2.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, special_0.txt, example_0.txt, example_1.txt, example_2.txt, example_3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example_0.txt | AC | 20 ms | 3316 KB |
example_1.txt | AC | 20 ms | 3316 KB |
example_2.txt | AC | 20 ms | 3316 KB |
example_3.txt | AC | 20 ms | 3316 KB |
maxrand_0.txt | AC | 20 ms | 3316 KB |
maxrand_1.txt | AC | 20 ms | 3316 KB |
maxrand_2.txt | AC | 20 ms | 3316 KB |
random_0.txt | AC | 20 ms | 3316 KB |
random_1.txt | AC | 20 ms | 3316 KB |
random_2.txt | AC | 20 ms | 3316 KB |
random_3.txt | AC | 20 ms | 3316 KB |
random_4.txt | AC | 20 ms | 3316 KB |
random_5.txt | AC | 20 ms | 3316 KB |
random_6.txt | AC | 20 ms | 3316 KB |
random_7.txt | AC | 20 ms | 3316 KB |
random_8.txt | AC | 20 ms | 3316 KB |
random_9.txt | AC | 20 ms | 3316 KB |
special_0.txt | AC | 20 ms | 3316 KB |