Fie o secvenţă de N
valori binare reprezentând un număr natural scris în baza 2
. De exemplu secvenţa de 4 biţi 1101
este reprezentarea binară a numărului natural 13
. Cei N
biţi sunt numerotaţi de la dreapta la stânga cu numere de la 0
la N-1
. În continuare asupra secvenţei se vor efectua exact P
operaţii. Fiecare operaţie este dată printr-un număr natural reprezentând indicele unui bit care se elimină din secvenţă.
Cerința
După fiecare din cele P
operaţii de eliminare, trebuie să stabiliţi dacă secvenţa rămasă este sau nu reprezentarea binară a unui număr natural divizibil cu 3
.
Date de intrare
Fișierul de intrare binremove.in
conține pe prima linie valoarea N
. Pe a doua linie se șirul de biţi separați prin câte un spaţiu. Pe linia a treia se află numărul natural P
. Pe linia a patra, separate prin câte un spaţiu, se găsesc numerele naturale k1 k2 ... kP
reprezentând indicii biţilor care se elimină.
Date de ieșire
Fișierul de ieșire binremove.out
va conține P
linii. Pe linia i
(i = 1..P
) se află valoarea 1
dacă după operaţia i
secvenţa rămasă este reprezentarea binară a unui număr divizibil cu 3
, sau se află valoarea 0
dacă după operaţia i
secvenţa rămasă este reprezentarea binară a unui număr care nu e divizibil cu 3
.
Restricții și precizări
3 ≤ N ≤ 50.000
1 ≤ P ≤ 100
;P < N
- După fiecare eliminare lungimea
N
a secvenţei de biţi scade cu1
; întotdeauna indicele bitului care se elimină va fi cuprins între0
şiN-1
- Numărul
0
este divizibil cu3
Exemplu:
binremove.in
7 1 1 0 0 1 1 1 3 2 4 4
binremove.out
1 0 1
Explicație
La primul pas, din secvenţă se elimină bitul de pe poziţia 2
, rămânând secvenţa 110011
, adică numărul 51
(divizibil cu 3
).
La al doilea pas, se elimină din secvenţă bitul de pe poziţia 4
, rămânând secvenţa 10011
, adică numărul 19
(nu e divizibl cu 3
).
La al treilea pas, din secvenţă se elimină bitul de pe poziţia 4
, rămânând secvenţa 0011
, adică numărul 3
(divizibil cu 3
).