結果
問題 | No.2325 Skill Tree |
ユーザー | sepa38 |
提出日時 | 2023-04-15 14:04:08 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,015 ms / 3,000 ms |
コード長 | 521 bytes |
コンパイル時間 | 442 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 105,196 KB |
最終ジャッジ日時 | 2024-10-11 01:09:04 |
合計ジャッジ時間 | 30,990 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
import bisect from collections import deque n = int(input()) e = [[] for _ in range(n)] tmp = [1] for i in range(1, n): li, ai = map(int, input().split()) tmp.append(li) e[ai-1].append(i) inf = 1 << 30 l = [inf] * n l[0] = 1 d = deque([0]) while d: u = d.popleft() for v in e[u]: l[v] = max(tmp[v], l[u]) d.append(v) sl = sorted(l) for _ in range(int(input())): t, x = list(map(int, input().split())) if t == 1: print(bisect.bisect_right(sl, x)) else: print(l[x-1] if l[x-1] < inf else -1)