atcoder#ABC250E. [ABC250E] Prefix Equality

[ABC250E] Prefix Equality

配点 : 500500

問題文

長さ NN の整数列 A=(a1,,aN)A = (a_1,\ldots,a_N)B=(b1,,bN)B = (b_1,\ldots,b_N) が与えられます。

i=1,...,Qi=1,...,Q に対し、次の形式のクエリに答えてください。

  • AA の先頭 xix_i(a1,,axi)(a_1,\ldots,a_{x_i}) に含まれる値の集合と BB の先頭 yiy_i(b1,,byi)(b_1,\ldots,b_{y_i}) に含まれる値の集合が等しいならば Yes と、そうでなければ No と出力せよ。

制約

  • 1N,Q2×1051 \leq N,Q \leq 2 \times 10^5
  • 1ai,bi1091 \leq a_i,b_i \leq 10^9
  • 1xi,yiN1 \leq x_i,y_i \leq N
  • 入力は全て整数

入力

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

NN

a1a_1 \ldots aNa_N

b1b_1 \ldots bNb_N

QQ

x1x_1 y1y_1

\vdots

xQx_Q yQy_Q

出力

QQ 行出力せよ。 ii 行目には、ii 番目のクエリに対する出力をせよ。

5
1 2 3 4 5
1 2 2 4 3
7
1 1
2 2
2 3
3 3
4 4
4 5
5 5
Yes
Yes
Yes
No
No
Yes
No

集合は各値が含まれるかどうかのみに注目した概念であることに気を付けてください。 33 番目のクエリにおいて、AA の先頭 22 項には 112211 個ずつ、BB の先頭 33 項には 1111 個と 2222 個含まれます。しかし、それぞれに含まれる値の集合はどちらも {1,2}\{ 1,2 \} となり、一致します。 また、66 番目のクエリにおいては各値が現れる順番が異なりますが、やはり集合としては一致します。