結果
| 問題 | No.3127 Multiple of Twin Prime |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-20 13:50:27 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 699 ms / 2,500 ms |
| コード長 | 609 bytes |
| 記録 | |
| コンパイル時間 | 198 ms |
| コンパイル使用メモリ | 84,864 KB |
| 実行使用メモリ | 238,336 KB |
| 最終ジャッジ日時 | 2026-06-19 14:39:12 |
| 合計ジャッジ時間 | 11,289 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 |
ソースコード
from math import isqrt
lim = 10**7 + 10
prime_flag = [1]*lim
prime_flag[0] = 0
prime_flag[1] = 0
for p in range(2,lim):
if prime_flag[p]:
for q in range(2*p,lim,p):
prime_flag[q] = 0
ans = [0]*lim
ans[0] = -1
t = int(input())
for i in range(t):
n = int(input())
r = isqrt(n+1)-1
s = r
while True:
if ans[s] != 0:
nans = ans[s]
break
if prime_flag[s] & prime_flag[s+2]:
nans = s*(s+2)
break
s -= 1
for i in range(s,r+1):
ans[i] = nans
print(nans)