给定两个长度为 N 的整数序列 A = (a₁, …, aN) 和 B = (b₁, …, bN)。 对于 i = 1, …, Q,请回答以下形式的查询: 如果 A 的前 xᵢ 项 (a₁, …, a{xᵢ}) 所包含的值的集合与 B 的前 yᵢ 项 (b₁, …, b{yᵢ}) 所包含的值的集合相等,则输出 Yes,否则输出 No。 1≤N, Q≤2×10^5,1≤ai, bi ≤10^9,1 ≤ xi, yi ≤ N,所有输入均为整数。
输入以如下格式从标准输入读入。 N a₁ a₂ … a_N b₁ b₂ … b_N Q x₁ y₁ ⋮ x_Q y_Q
输出 Q 行。第 i 行输出第 i 个查询的答案。
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
请注意,集合只关注每个值是否出现过。在第 3 个查询中,A 的前 2 项包含 1 和 2 各 1 个,B 的前 3 项包含 1 有 1 个,2 有 2 个。但它们所包含的值的集合都是 {1, 2},因此集合相等。另外,在第 6 个查询中,虽然每个值出现的顺序不同,但作为集合它们依然相等。