結果
| 問題 | No.3726 Flawless Flow |
| コンテスト | |
| ユーザー |
tomerun
|
| 提出日時 | 2026-09-19 14:49:57 |
| 言語 | Crystal (1.21.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 8 ms / 2,000 ms |
| + 980µs | |
| コード長 | 704 bytes |
| 記録 | |
| コンパイル時間 | 13,572 ms |
| コンパイル使用メモリ | 326,700 KB |
| 実行使用メモリ | 9,992 KB |
| 最終ジャッジ日時 | 2026-09-19 14:50:17 |
| 合計ジャッジ時間 | 13,289 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 59 |
ソースコード
n = read_line.to_i
a = read_line.split.map(&.to_i)
b = read_line.split.map(&.to_i)
pos = Array.new(n + 1, 0)
n.times do |i|
pos[b[i]] = i
end
c = Array.new(n + 1) { Array.new(n, 0) }
c[0][..] = a
c[-1][..] = b
1.upto(n - 1) do |y|
c[y][..] = c[y - 1]
x = 1 - y % 2
while x < n - 1
cd0 = (pos[c[y - 1][x]] - x).abs
cd1 = (pos[c[y - 1][x + 1]] - x - 1).abs
nd0 = (pos[c[y - 1][x]] - x - 1).abs
nd1 = (pos[c[y - 1][x + 1]] - x).abs
if cd0 ** 2 + cd1 ** 2 > nd0 ** 2 + nd1 ** 2
c[y][x] = c[y - 1][x + 1]
c[y][x + 1] = c[y - 1][x]
end
x += 2
end
end
if n.times.all? { |i| (pos[c[n - 1][i]] - i).abs <= 1 }
c.each { |r| puts r.join(" ") }
else
puts -1
end
tomerun