結果

問題 No.6 使いものにならないハッシュ
ユーザー mai
提出日時 2017-07-07 22:39:48
言語 Ruby
(3.4.1)
結果
AC  
実行時間 154 ms / 5,000 ms
コード長 721 bytes
コンパイル時間 78 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 13,184 KB
最終ジャッジ日時 2024-09-16 16:40:32
合計ジャッジ時間 6,096 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def ascan; gets.split.map(&:to_i); end
def scan; gets.to_i; end


require 'prime'


k,n = [gets,gets].map(&:to_i)

# 素数列挙
prime_generator = Prime::EratosthenesGenerator.new
primes = []
begin ; primes << prime_generator.next ; end while primes[-1]<=n

primes.pop if primes[-1]>n

def ash(u)
    u<10 ? u : ash(ash(u/10)+u%10)
end

ptr = 0

while primes[ptr] < k
    ptr+=1
end

li = Array.new(10)
q = []

best = 0
best_arr = nil

while ptr < primes.size
    v = primes[ptr]
    h = ash(v)
    while li[h]
        r = q.shift()
        li[r] = nil
    end
    li[h] = v
    q.push(h)
    
    if best <= q.size
        best = q.size
        best_arr = q.map{|i| li[i]}
    end
        
    ptr+=1
end

p best_arr[0]
0