結果
| 問題 |
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)