// 題目

有序數列的存在性查詢

Membership Queries on a Sorted Sequence・apcs-07-01

  • APCS 中高級
  • 對答案二分搜
  • APCS 實作專題・Search — Binary Search

時間限制 1 秒・記憶體 64 MB

到 Aki-Judge 送出

送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。

題目敘述

圖書館的書籍編號已經由小到大排好、而且沒有重複。館員會接連詢問若干個編號,請你回答每個編號是否在書架上。

輸入格式

  • 第 1 行:整數 n。
  • 第 2 行:a1 … an,嚴格遞增。
  • 第 3 行:整數 q。
  • 接下來 q 行:每行一個整數 x,代表一次詢問。

輸出格式

  • 每次詢問輸出一行:若 x 出現在數列中輸出 YES,否則輸出 NO。

限制

  • 1 ≤ n, q ≤ 2× 105
  • −109 ≤ ai, x ≤ 109
  • a1 < a2 < ⋯ < an

範例

範例 1

輸入

5
1 3 5 7 9
3
5
4
9

輸出

YES
NO
YES

範例 2

輸入

1
42
2
42
0

輸出

YES
NO

說明

  • 範例 1:5 與 9 在數列中,4 不在。
  • 範例 2:數列只有一個數 42。
  • 每次詢問若從頭掃一遍,總成本是 O(nq),在這個規模下會超時;請利用數列已排序的性質。

到 Aki-Judge 送出

送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。

卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。