atcoder#ABC238G. [ABC238G] Cubic?

[ABC238G] Cubic?

配点 : 600600

問題文

長さ NN の数列 AA が与えられるので、以下の QQ 個の質問に答えてください。

  • ii 個目の質問では整数 Li,RiL_i,R_i が与えられます。 $A_{L_i} \times A_{L_i+1} \times \dots \times A_{R_i}$ は立方数ですか?

ただし、ある正整数 xx が立方数であるとは、 x=y3x=y^3 を満たすある正整数 yy が存在することを言います。

制約

  • 入力は全て整数
  • 1N,Q2×1051 \le N,Q \le 2 \times 10^5
  • 1Ai1061 \le A_i \le 10^6
  • 1LiRiN1 \le L_i \le R_i \le N

入力

入力は以下の形式で標準入力から与えられる。

NN QQ

A1A_1 A2A_2 \dots ANA_N

L1L_1 R1R_1

L2L_2 R2R_2

\vdots

LQL_Q RQR_Q

出力

QQ 行出力せよ。 ii 行目には、ii 個目の質問について $A_{L_i} \times A_{L_i+1} \times \dots \times A_{R_i}$ が立方数なら Yes 、そうでないなら No と出力せよ。 なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。

8 5
7 49 30 1 15 8 6 10
1 2
2 3
4 4
5 8
3 8
Yes
No
Yes
No
Yes
  • 11 個目の質問について、 7×49=3437 \times 49 = 343 は立方数です。
  • 22 個目の質問について、 49×30=147049 \times 30 = 1470 は立方数ではありません。
  • 33 個目の質問について、 11 は立方数です。
  • 44 個目の質問について、 15×8×6×10=720015 \times 8 \times 6 \times 10 = 7200 は立方数ではありません。
  • 55 個目の質問について、 $30 \times 1 \times 15 \times 8 \times 6 \times 10 = 216000$ は立方数です。