結果
問題 | No.2325 Skill Tree |
ユーザー |
![]() |
提出日時 | 2023-04-24 18:17:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 2,920 ms / 3,000 ms |
コード長 | 562 bytes |
コンパイル時間 | 282 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 92,084 KB |
最終ジャッジ日時 | 2024-11-08 18:56:42 |
合計ジャッジ時間 | 78,314 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
from bisect import bisect_right n=int(input()) lp=[list(map(int,input().split())) for _ in range(n-1)] cil=[[]for _ in range(n)] for i in range(1,n): l,p=lp[i-1] cil[p-1].append((i,l)) level=[10**10]*n level[0]=0 sta=[0] for node in sta: for mode,l in cil[node]: level[mode]=max(level[node],l) sta.append(mode) level_s=sorted(level) for _ in range(int(input())): q,xy=map(int, input().split()) if q==1: print(bisect_right(level_s,xy)) else: if level[xy-1]==10**10:print(-1) else:print(level[xy-1])