結果
| 問題 |
No.3127 Multiple of Twin Prime
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-20 13:50:27 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,318 ms / 2,500 ms |
| コード長 | 609 bytes |
| コンパイル時間 | 848 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 233,696 KB |
| 最終ジャッジ日時 | 2025-01-20 14:18:51 |
| 合計ジャッジ時間 | 12,828 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 11 |
ソースコード
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)