結果

問題 No.458 異なる素数の和
ユーザー suppy193
提出日時 2017-02-01 14:04:01
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 587 bytes
コンパイル時間 318 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 160,296 KB
最終ジャッジ日時 2024-12-24 02:26:00
合計ジャッジ時間 25,477 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22 WA * 1 TLE * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
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