結果
問題 |
No.3086 Re One Two
|
ユーザー |
|
提出日時 | 2025-04-04 22:19:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 614 ms / 2,000 ms |
コード長 | 917 bytes |
コンパイル時間 | 292 ms |
コンパイル使用メモリ | 82,388 KB |
実行使用メモリ | 275,564 KB |
最終ジャッジ日時 | 2025-04-04 22:19:56 |
合計ジャッジ時間 | 13,408 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
import sys sys.setrecursionlimit(10**8) from bisect import * n=int(input()) to=[-1]*n prev=[-1]*n query=[list(map(int,input().split())) for _ in range(n)] one=[] two=[] for i in range(n): if query[i][1]==1: one.append(i) elif query[i][1]==2: two.append(i) for i in range(len(one)): pl=bisect_left(two,one[i]) pl-=1 to[one[i]]=two[pl] prev[two[pl]]=one[i] # for i,j in zip(one,two): # to[i]=j # prev[j]=i for i in range(n): if query[i][0]==1: to[i+1]=i prev[i]=i+1 # order=[] # for i in range(n): # if prev[i]==-1: # order.append(i) # for i in range(len(order)-1): # to[order[i]]=order[i+1] # prev[order[i+1]]=order[i] ans=[] def DFS(now): global ans ans.append(now) if to[now]!=-1: DFS(to[now]) for i in range(n): if query[i][0]!=1 and query[i][1]!=2: DFS(i) for i in range(n): print(ans[i]+1)