結果
問題 |
No.3086 Re One Two
|
ユーザー |
|
提出日時 | 2025-04-04 22:18:49 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 877 bytes |
コンパイル時間 | 472 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 115,200 KB |
最終ジャッジ日時 | 2025-04-04 22:19:09 |
合計ジャッジ時間 | 11,049 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 RE * 6 |
ソースコード
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)