题号:NC207704
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
天空度假山庄里的物品实在是太多了,Madeline想要帮Oshiro先生清理这些物品。
但物品对于未来而言都是可能有用的。
于是Madeline想出了一个方法,给每一个物品定义一个优先级,如果某个物品的最近使用过,那么它的优先级就更高。例如有两个物品,一个物品A在之前使用过,另一个物品B在物品A最后一次使用之后都没有使用过,那么物品A的优先级就比物品B的优先级高。
天空度假山庄的容量是有限的,只能存放

个物品,那么优先级前

大的物品就会被留下,而优先级比第

个物品优先级还要小的物品就会被扔掉。如果被扔掉的物品或者本来就没有的物品想要使用的话,就需要将物品购买回来使用。
一开始天空度假山庄中有

个物品,以及每一个物品的编号

和每一个物品的优先级的相对顺序。接下来的

天,每一天会使用一个编号为

的物品,你需要知道这一个物品是否需要购买。
输入描述:
输入第一行三个整数

、

、

(

),表示一开始天空度假山庄的物品数量、天空度假山庄能存放物品的数量以及需要询问的天数。
第二行输入

个整数

(

),第

个数表示一开始天空度假山庄所存在的物品的编号。输入的顺序是按照优先级递增的。即令

为一开始第

个物品的优先级,则对于所有

,有

。保证所有的

都不相同。
第三行输入
个整数
(
),第
个数表示第
天使用的物品的编号。
输出描述:
第
行输出第
天使用的编号为
的物品是否需要购买。若需要则输出yes,否则输出no。
示例1
输入
复制
1 2 10
66
66 64 1 64 3 4 66 6 64 8
输出
复制
no
yes
yes
no
yes
yes
yes
yes
yes
yes
备注:
输入的数据量很大,C++选手建议使用scanf代替cin,Java选手建议自己写一个输入流代替Scanner。