結果
問題 |
No.3127 Multiple of Twin Prime
|
ユーザー |
|
提出日時 | 2025-09-13 22:09:13 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 392 ms / 2,500 ms |
コード長 | 1,037 bytes |
コンパイル時間 | 3,924 ms |
コンパイル使用メモリ | 223,328 KB |
実行使用メモリ | 14,584 KB |
最終ジャッジ日時 | 2025-09-13 22:09:24 |
合計ジャッジ時間 | 10,274 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 12 |
ソースコード
#include<bits/stdc++.h> #include <atcoder/all> #ifdef LOCAL #include <debug_print.hpp> #define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) (static_cast<void>(0)) #endif using namespace atcoder; using mint=modint998244353; using namespace std; using ll=long long; using ld=long double; using ul=unsigned long long; int dx[8] = {1, 0, -1, 0, -1, -1, 1, 1}; int dy[8] = {0, 1, 0, -1, -1, 1, -1, 1}; using Graph=vector<vector<int>>; ll op(ll a,ll b){return max(a,b);} ll e(){return 0;} int main(){ vector<bool>T(10000001); vector<ll>p; for(int i=2;i<=10000000;i++){ if(T[i])continue; p.push_back(i); for(int j=2*i;j<=10000000;j+=i)T[j]=1; } vector<ll>pp; for(int i=0;i<p.size()-1;i++){ if(p[i+1]-p[i]==2)pp.push_back(p[i]*p[i+1]); } int t; cin>>t; while(t--){ ll N; cin>>N; int u=upper_bound(pp.begin(),pp.end(),N)-pp.begin()-1; if(u==-1)cout<<-1<<endl; else cout<<pp[u]<<endl; } }