bool型の配列とvector<bool>とでは、実行時間やメモリの使用量が異なります。
この問題では、vector<bool>を使用してください。
↑bool[]でもACできるときとできないときがあるっぽい?(メモリ制限を変更してもいいかも)
この問題では、vector<bool>を使用してください。
↑bool[]でもACできるときとできないときがあるっぽい?(メモリ制限を変更してもいいかも)
問題
N 個の整数が与えられる。i (1≤i≤N) 番目の整数は ai である。
各 ai について、ai×k が素数となる正整数 k を出力せよ。
ただし、そのような k が複数存在する場合はその中で最も値の小さなものを出力し、そのような k が存在しない場合はNA
と出力せよ。
入力
入力は以下の形式で標準入力から与えられる。
N a1 a2 ⋮ aN
出力
出力は N 行からなる。
各 ai に対する答えを改行区切りで出力せよ。
制約
- 1≤N≤106
- 1≤ai≤6×106
- 入力は全て整数である。
入出力例
入力例1
5 12 7 5 57 2
出力例1
NA 1 1 NA 1
注意
C++において、通常のcin,coutだとTLEする場合があります。
cin.tie(nullptr); ios_base::sync_with_stdio(false);
で高速化しましょう。