結果
問題 | No.6 使いものにならないハッシュ |
ユーザー |
![]() |
提出日時 | 2020-09-06 00:47:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 348 ms / 5,000 ms |
コード長 | 795 bytes |
コンパイル時間 | 182 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 134,036 KB |
最終ジャッジ日時 | 2024-09-16 16:59:29 |
合計ジャッジ時間 | 11,735 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
N = 200200 X = [-1] * (N+1) L = [{} for _ in range(N+1)] k = 2 while k <= N: X[k] = 1 L[k][k] = 1 for i in range(k*2, N+1, k): X[i] = 0 L[i][k] = 1 d = 2 while k**d <= N: for i in range(k**d, N+1, k**d): L[i][k] += 1 d += 1 while k <= N and X[k] >= 0: k += 1 P = [i for i in range(N+1) if X[i] == 1] K = int(input()) N = int(input()) for i in range(200200): if P[i] >= K: i0 = i break ma = -1 ans = -1 for i, p in enumerate(P): if p < K: continue if p > N: break s = 0 for j in range(i, i + 11): t = 1 << (P[j] % 9) if s & t or P[j] > N: if j - i >= ma: ma = j - i ans = P[i] break s |= t print(ans)