結果
問題 |
No.6 使いものにならないハッシュ
|
ユーザー |
![]() |
提出日時 | 2020-05-14 03:00:33 |
言語 | JavaScript (node v23.5.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,486 bytes |
コンパイル時間 | 26 ms |
コンパイル使用メモリ | 5,120 KB |
実行使用メモリ | 50,048 KB |
最終ジャッジ日時 | 2024-10-13 01:52:33 |
合計ジャッジ時間 | 4,010 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 29 WA * 3 |
ソースコード
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) { if(max <= j-i) { max = j-i; maxI = i; } let idx = LL.indexOf(L[j], i); if(idx >= 0) i=idx+1; LL.push(L[j]); j++; } 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"));