結果
問題 |
No.1006 Share an Integer
|
ユーザー |
|
提出日時 | 2021-11-06 18:19:08 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 1,958 ms / 2,000 ms |
コード長 | 505 bytes |
コンパイル時間 | 54 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 28,160 KB |
最終ジャッジ日時 | 2024-11-07 17:02:27 |
合計ジャッジ時間 | 19,423 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
コンパイルメッセージ
Syntax OK
ソースコード
X = gets.to_i d = Array.new(X+1, 1) d[0] = 0 2.upto(X) {|i| if d[i] == 1 then d[i] = 2 (2*i).step(X, i) {|j| n = 1 k = j while k % i == 0 do n += 1 k /= i end d[j] *= n } end } min = X minpair = nil 1.upto(X/2) {|a| b = X - a v = (a - d[a] - b + d[b]).abs if min > v then min = v minpair = a == b ? [[a, b]] : [[a, b], [b, a]] elsif min == v then minpair << [a, b] minpair << [b, a] if a != b end } minpair.sort_by{|x| x[0]}.each {|a, b| puts "#{a} #{b}" }