結果
| 問題 |
No.2325 Skill Tree
|
| コンテスト | |
| ユーザー |
pあり
|
| 提出日時 | 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])
pあり