結果
問題 | No.458 異なる素数の和 |
ユーザー |
![]() |
提出日時 | 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
ソースコード
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