結果

問題 No.458 異なる素数の和
ユーザー suppy193suppy193
提出日時 2017-02-01 14:04:01
言語 Ruby
(3.3.0)
結果
TLE  
実行時間 -
コード長 587 bytes
コンパイル時間 229 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 88,272 KB
最終ジャッジ日時 2024-06-06 11:21:57
合計ジャッジ時間 8,417 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 92 ms
12,800 KB
testcase_01 AC 1,607 ms
79,116 KB
testcase_02 TLE -
testcase_03 AC 423 ms
68,352 KB
testcase_04 AC 513 ms
68,480 KB
testcase_05 TLE -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
testcase_29 -- -
testcase_30 -- -
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:33: warning: ambiguous first argument; put parentheses or a space even after `-' operator
Syntax OK

ソースコード

diff #

require 'prime'

n = gets.strip.to_i

primes = []
primes << 2
i = 3
while i < n
	primes << i if i.prime?
	i += 2
end
# p primes.length

@memo = Hash.new(0)
@memo_next = Hash.new(0)
primes.each do |prime|
	@memo = @memo_next.clone
	@memo.each do |k, v|
		if k != n && k + prime > n
			@memo_next.delete(k)
			next	
		end
		next if k + prime != n && k + 2 * prime > n
		@memo_next[k + prime] = [@memo[k + prime], v + 1].max
		#print "#{prime} #{@memo_next}\n"
	end
	@memo_next[prime] = [1, @memo[prime]].max
	#@memo = @memo_next
end
if @memo_next.key?(n)
	p @memo_next[n]
else
	puts -1
end
0