binremove


Timp maxim de execuţie/test:
0.2 secunde
Memorie totală disponibilă/stivă:
16 MB/4 MB

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ţă

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 află ş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 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

  • 3 <= N <= 50 000
  • 1 <= P <= 100; P < N
  • După fiecare eliminare lungimea N a secvenţei de biţi scade cu 1; întotdeauna indicele bitului care se elimină va fi cuprins între 0 şi N-1.
  • Numărul 0 este divizibil cu 3.

Exemplu

binremove.in binremove.out Explicaţii
7
1 1 0 0 1 1 1
3
2 4 4
1
0
1
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).
prof. Dan Pracsiu
Liceul "Stefan Procopiu" Vaslui
dpracsiu@yahoo.com
prof. Adrian Panaete
Colegiul National "A.T.Laurian" Botosani
acpanaete@yahoo.com