結果

問題 No.3127 Multiple of Twin Prime
ユーザー suo
提出日時 2025-04-25 22:00:37
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 993 ms / 2,500 ms
コード長 587 bytes
コンパイル時間 530 ms
コンパイル使用メモリ 82,776 KB
実行使用メモリ 158,752 KB
最終ジャッジ日時 2025-04-25 22:01:05
合計ジャッジ時間 14,143 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

mx = 10**7 + 10
mf = [i for i in range(mx)]
for i in range(2, mx):
    if mf[i] != i:
        continue
    j = 2 * i
    while j < mx:
        mf[j] = i
        j += i

pr = []
for i in range(2, mx - 1):
    if mf[i] == i and mf[i + 2] == i + 2:
        pr.append(i)

t = int(input())
for _ in range(t):
    n = int(input())
    if n < 15:
        print(-1)
        continue
    ok = 0
    ng = len(pr)
    while (ng - ok) > 1:
        mid = (ok + ng) // 2
        if pr[mid] * (pr[mid] + 2) <= n:
            ok = mid
        else:
            ng = mid
    print(pr[ok] * (pr[ok] + 2))
0