003 - 値をさがせ

時間制限 1 秒 / メモリ制限 256 MB / 得点 3 / x 10 /


TLE
1sec
MLE
256MB
得点
3

問題

YDKは、要素数 $N$ の整数からなる数列 $A$ = { $a_1$, $a_2$, ... $a_N$ } をもっています。

この数列は昇順に整列されています。

$A$ に整数 $d$ が含まれるかどうかの質問が $Q$ 個与えられるので、各質問に "Yes"か"No"かで答えてください。

入出力形式

入力

1行目に、数列の要素数 $N$ と 質問の個数 $Q$ が空白区切りで与えられる。

続いて、$N$ 個の $A$ の要素 $a_i$ (1 ≤ $i$ ≤ $N$) が空白区切りで与えられる。

以下、$Q$ 行にわたって $A$ に含まれるかどうかを調べる数 $d_j$ (1 ≤ $j$ ≤ $Q$) が与えられる。

N Q
a1 a2 ... aN
d1
d2
  :
dQ

出力

各 $d$ について、 $A$ に含まれるなら "Yes", 含まれなければ "No" を出力して改行せよ。

制約

  • 1 ≤ $N$ ≤ 3,000,000
  • 1 ≤ $Q$ ≤ 100,000
  • -1,000,000,000 ≤ $a_i$, $d_j$ ≤ 1,000,000,000
  • $A$ は昇順に整列されている。

部分点

  • $N$,$Q$ ≤ 1000 を満たすテストケースに正解すると、配点の 20% がもらえる。
  • 上の条件とは別に、0 ≤ $a_i$ ≤ 1,000,000 を満たすテストケースに正解しても、配点の 20% がもらえる。

入出力例

入力例1

6 3
2 3 5 7 11 13
7
9
13

出力例1

Yes
No
Yes

入力例2

3 5
-65536 -32768 -128
128
-123456789
-32768
0
64

出力例2

No
No
Yes
No
No

備考

[注意] この問題は、通常のcin, cout を使用するとTLEになります。

次の命令を記述することで cin, cout が高速になります。

int main()
{
    cin.tie(NULL);
    ios::sync_with_stdio(false);

}

6月14日(木) 18:50 配点がおかしかったので修正して Rejudge しました。