結果

問題 No.1006 Share an Integer
ユーザー 小野寺健小野寺健
提出日時 2021-11-06 18:19:08
言語 Ruby
(3.3.0)
結果
AC  
実行時間 1,992 ms / 2,000 ms
コード長 505 bytes
コンパイル時間 91 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 28,288 KB
最終ジャッジ日時 2024-04-25 06:50:10
合計ジャッジ時間 19,868 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 95 ms
12,032 KB
testcase_01 AC 89 ms
12,160 KB
testcase_02 AC 90 ms
12,032 KB
testcase_03 AC 89 ms
12,288 KB
testcase_04 AC 90 ms
12,160 KB
testcase_05 AC 89 ms
12,160 KB
testcase_06 AC 88 ms
12,160 KB
testcase_07 AC 91 ms
12,160 KB
testcase_08 AC 91 ms
12,288 KB
testcase_09 AC 93 ms
12,160 KB
testcase_10 AC 90 ms
12,160 KB
testcase_11 AC 1,125 ms
20,992 KB
testcase_12 AC 1,879 ms
27,008 KB
testcase_13 AC 1,987 ms
27,904 KB
testcase_14 AC 1,992 ms
28,288 KB
testcase_15 AC 1,707 ms
25,728 KB
testcase_16 AC 862 ms
19,072 KB
testcase_17 AC 1,168 ms
21,376 KB
testcase_18 AC 1,721 ms
25,856 KB
testcase_19 AC 1,650 ms
25,344 KB
testcase_20 AC 1,784 ms
26,368 KB
testcase_21 AC 1,991 ms
28,288 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

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}"
}
0