結果
問題 |
No.6 使いものにならないハッシュ
|
ユーザー |
![]() |
提出日時 | 2020-05-14 03:06:12 |
言語 | JavaScript (node v23.5.0) |
結果 |
AC
|
実行時間 | 115 ms / 5,000 ms |
コード長 | 1,486 bytes |
コンパイル時間 | 316 ms |
コンパイル使用メモリ | 5,504 KB |
実行使用メモリ | 49,792 KB |
最終ジャッジ日時 | 2024-09-16 16:56:30 |
合計ジャッジ時間 | 4,486 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
function main(input) { let [N] = getIntegers(input, " "); let [K] = getIntegers(input, " "); let prime = primeList(N, K); let hash = hashList(prime); let idx = solve(hash); console.log(prime[idx]); } function solve(L) { let i=0, j=0, max=0, maxI=0; let LL = []; while(j < L.length) { let idx = LL.indexOf(L[j], i); if(idx >= 0) i=idx+1; LL.push(L[j]); j++; if(max <= j-i) { max = j-i; maxI = i; } } return maxI; } function hashList(L) { let list = []; for(let i=0; i<L.length; i++) { let LS = L[i].split(""); while(true) { if(LS.length > 1) { sum = 0; for(let j=0; j<LS.length; j++) { sum += Number(LS[j]); } LS = String(sum).split(""); } else { list.push(LS[0]); break; } } } return list; } function primeList(N, K) { let list = new Array(K+1).fill(true); list[0] = false; list[1] = false; for(let i=2; i<=Math.sqrt(K); i++) { if(list[i] == true) { for(let j=i*2; j<=K; j+=i) { list[j] = false; } } } let out = []; for(let i=2; i<list.length; i++) { if(list[i] && i >= N) out.push(String(i)); } return out; } //-- functions --------------------------------------------------------------- function getIntegers(l, s) {return s === undefined ? l.map(x=>Number(x)) : l.shift().split(s).map(x=>Number(x))} main(require("fs").readFileSync("/dev/stdin", "utf8").trim().split("\n"));