結果
問題 | No.14 最小公倍数ソート |
ユーザー |
|
提出日時 | 2017-05-20 19:44:25 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 533 bytes |
コンパイル時間 | 71 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 21,120 KB |
最終ジャッジ日時 | 2024-09-19 00:30:20 |
合計ジャッジ時間 | 7,887 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 WA * 1 TLE * 1 -- * 15 |
コンパイルメッセージ
Syntax OK
ソースコード
require "prime" def f(a) pairs = a.map{|n| r = n.prime_division next [1, []] if r.empty? [n, r] } # p pairs n, f = pairs.shift r = [n] pairs.sort! while !pairs.empty? pair = pairs.min_by{|nn, ff| t = f.inject(1){|r, (v, i)| # p [r, v, i] vv, ii = ff.assoc(v) vv ? r * v * [i, ii].min : r } [n * nn / t, nn] } pairs.delete_at(pairs.index(pair)) n, f = pair r << n end r end N = gets.to_i A = gets.split.take(N).map(&:to_i) puts f(A) * " "