#YC226. 预处理经典例题

预处理经典例题

预处理经典例题

在程序设计实战中,有很多情况,我们可以把重复的操作,优化掉,比如重复地检查一些内容存不存在,或者满不满足。实际上我们可以预先把这个问题的所有情况用数组存起来,然后查询的时候就直接能够知道,从而大幅降低算法执行时间

题目描述

给定三个数列:

  • A=(A1,,AN) A = (A_1, \ldots, A_N)
  • B=(B1,,BM) B = (B_1, \ldots, B_M)
  • C=(C1,,CL) C = (C_1, \ldots, C_L)

另给定一个数列 X=(X1,,XQ) X = (X_1, \ldots, X_Q) 。对于每个 i=1,,Q i = 1, \ldots, Q ,请解决以下问题:

问题:能否从 A,B,C A, B, C 中各选一个元素,使得它们的和恰好等于 Xi X_i

注意:本题内存量较大,可以开300000005大小的数组

输入格式

输入通过标准输入给出,格式如下:

N N

A1 A_1 \ldots AN A_N

M M

B1 B_1 \ldots BM B_M

L L

C1C_1 \ldots CL C_L

Q Q

X1 X_1 \ldots XQ X_Q

数据保证满足以下范围

  • 1  N,M,L  100 1\ \leq\ N,M,L\ \leq\ 100
  • 0  Ai, Bi ,Ci  108 0\ \leq\ A_i,\ B_i\ ,C_i\ \leq\ 10^8
  • 1  Q  2× 105 1\ \leq\ Q\ \leq\ 2\times\ 10^5
  • 0  Xi  3× 108 0\ \leq\ X_i\ \leq\ 3\times\ 10^8
  • 输入全是整数

输出格式

输出 QQ 行。 如果可以从A,B,C数组A,B,C数组中各取一个整数,加起来与XiX_i 相等,则第ii行应输出YesYes ;否则输出NoNo

样例

3
1 2 3
2
2 4
6
1 2 4 8 16 32
4
1 5 10 50

No
Yes
Yes
No

解释