結果

問題 No.2740 Old Maid
ユーザー tufusa
提出日時 2025-04-17 18:04:57
言語 Ruby
(3.4.1)
結果
WA  
実行時間 -
コード長 338 bytes
コンパイル時間 628 ms
コンパイル使用メモリ 8,228 KB
実行使用メモリ 45,348 KB
最終ジャッジ日時 2025-04-17 18:05:20
合計ジャッジ時間 21,568 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 2 WA * 60
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i
ps = gets.split.map(&:to_i)
q = []

pos = ps.map.with_index { [_1, _2] }.sort_by { _1[0] }.map { _1[1] }
nxt = (1..n).to_a.tap { _1[-1] = nil }

n.times do |i|
  now = pos[i]
  next if nxt[now].nil?

  nx = nxt[now]
  q.push ps[now], ps[nx]
  nxt[now] = nxt[nx] = nil
  nxt[now - 1] = nx + 1 if now > 0
end

puts q.join ?\s
0