require 'prime' FM = 1 TO = 5_000_000 gets a = gets.split.map(&:to_s) if a.size == 10 then puts TO - FM exit end k = FM cs = a.dup max_len = -1 Prime.each(TO) do |pn| chars = pn.to_s.chars if (chars - a).size == 0 then #与えられた数字のみが使われている cs -= chars else #与えられた数字以外が使われている if cs.size <= 0 then len = pn - 1 - k #現在の範囲の上限は、素数-1 max_len = len if len > max_len end k = pn + 1 #次の範囲の下限は、素数+1 cs = a.dup end end #if cs.size <= 0 then # len = TO - k # max_len = len if len > max_len #end puts max_len