結果
問題 | No.2325 Skill Tree |
ユーザー |
![]() |
提出日時 | 2023-05-28 14:21:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,213 ms / 3,000 ms |
コード長 | 663 bytes |
コンパイル時間 | 1,116 ms |
コンパイル使用メモリ | 81,792 KB |
実行使用メモリ | 109,972 KB |
最終ジャッジ日時 | 2024-12-27 00:42:50 |
合計ジャッジ時間 | 37,009 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
from collections import deque import bisect n = int(input()) la = [(0, 0)] g = [[] for _ in range(n)] for i in range(1, n): l,a = map(int, input().split()) a-=1 la.append((l,a)) g[a].append(i) M = 10**18 ans = [M for _ in range(n)] d = deque([(0, 0)]) while(d): now, l = d.pop() l = max(la[now][0], l) ans[now] = l for v in g[now]: d.append((v,l)) ans2 = [i for i in ans] ans2.sort() q = int(input()) for _ in range(q): a,x = map(int, input().split()) if(a==1): print(bisect.bisect(ans2,x)) else: x-=1 if(ans[x]==M): print(-1) else: print(ans[x])