結果

問題 No.3127 Multiple of Twin Prime
ユーザー ID 21712
提出日時 2025-04-25 22:08:24
言語 Go
(1.23.4)
結果
AC  
実行時間 1,848 ms / 2,500 ms
コード長 500 bytes
コンパイル時間 20,850 ms
コンパイル使用メモリ 246,816 KB
実行使用メモリ 24,596 KB
最終ジャッジ日時 2025-04-25 22:09:03
合計ジャッジ時間 31,473 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"

func main() {
	sv:=make([]bool,1e7+4)
	pr:=make([]int,0,6e6)
	sv[1]=true
	for i:=3;i<len(sv);i+=2 {
		if sv[i] {
			continue
		}
		if !sv[i-2] {
			pr=append(pr,(i-2)*i)
		}
		for j:=i+i;j<len(sv);j+=i {
			sv[j]=true
		}
	}
	var t int
	Scan(&t)
	for ;t>0;t-- {
		var n int
		Scan(&n)
		lb,ub:=0,len(pr)
		for lb+1<ub {
			mid:=(lb+ub)/2
			if pr[mid]<=n {
				lb=mid
			} else {
				ub=mid
			}
		}
		if pr[lb]<=n {
			Println(pr[lb])
		} else {
			Println(-1)
		}
	}
}
0