Tagy: binárne vyhľadávanie
Obtiažnosť: easy

Nájdi číslo 2

Na vstupe máte usporiadanú postupnosť $n$ kladných aj záporných čísel. Vašou úlohou je odpovedať na $q$ otázok. Každá otázka je jedno kladné číslo $x$ a pýta sa, či existuje v našej postupnosti také číslo, ktorého absolútna hodnota je rovná číslu $x$.

Upozornenie: Počet prvkov v postupnosti je dosť veľký, preto usporiadanie tejto postupnosti podľa absolútnych hodnôt môže byť dosť pomalé. Skúste túto úlohu vyriešiť bez toho, aby ste zasahovali do vstupnej postupnosti.

Vstup

Na prvom riadku je číslo $n \, (1 \leq n \leq 5 \cdot 10^6)$ - počet čísel v postupnosti. Na druhom riadku je $n$ rôznych celých čísel z rozsahu $−10^9$ až $10^9$ určujúce postupnosť. Nasleduje číslo $q \, (1 \leq q \leq 1\,000)$ - počet otázok. Posledných $q$ riadkov určuje jednotlivé otázky. Všetky otázky sú v rozsahu $0$ až $10^9$.

Upozornenie: Keďže vstup je fakt veľký, tak ak programujete v C++, odporúčame použiť rýchle načítavanie vstupu - scanf().

Výstup

Na každú otázku vypíšte na samostatný riadok odpoveď – písmeno A, ak sa vo vstupnej postupnosti nachádza číslo, ktorého absolútna hodnota sa rovná $x$, inak vypíšte N.

Príklady

Vstup

Výstup

5
-5 -3 1 7 88
3
2
7
5
N
A
A

V poli sa nenachádza 2 ani −2, takže prvá odpoveď je N. V druhej otázke sa nachádza číslo 7, v tretej zase -5.

Ak chceš riešiť túto úlohu, musíš sa najprv prihlásiť.