有序數列的存在性查詢
Membership Queries on a Sorted Sequence・apcs-07-01
- APCS 中高級
- 對答案二分搜
- APCS 實作專題・Search — Binary Search
時間限制 1 秒・記憶體 64 MB
送出程式要先用 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),在這個規模下會超時;請利用數列已排序的性質。
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。