.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » binremove

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
 .campion
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
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Probleme recomandate
De la XOR 2014: abq, cifrab, rombul, sminus, subsets, nkd, transform, nrgraf
De acelaşi autor: cai, rebus, harta, comun, axa, sir, ocean14, reduceri, div3, patrate6, vot, reziduu, accesibil, predecesor, permutari, scanduri, ordonare, xor1, paltrei, triunghi1, 123, traseu1, parbit, petrecere, secvbiti, subm, triunghi3, cmmdcsecv, drumuri1, fillmat, secvb, siruri3, acces, segmente, echilibru1, broscute, ksecv, paisprezece, proddiv, perechi2, expeval, maxtri, combcuv, dfs, qtri, blis, maxbin, probleme, divider, eliminare, minm, genab, grafxy, matd3, azeval, matrixdel, speed, maxp, split, sminus, subsets, tcif, sprime, sir2dif, ecp, arbsum, robotzi, permtr, unudoi, matcnt, ssdj, dominant
Despre vector: trei, simetric, egal, ruleta, pod, uscat, afise, an, bunici, cursa, onu, tramvai, cadou, kpal, expresie, piticot, roci, petrol, grad, ruleta2, ecran, palma, concurs, holo, ab2, tren2, cifre, mgo, firma, anagrame, joc2, br, maxim, astre, numere2, baby, zapada, hd, startrek, vecini2, drept, teatru, tir, patrate2, nr, cifra, repeat, unu, criptare, ratb, placi, sume3, turist, matrice3, pavaj, sume, kafka, bacan, spair, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, ants, div3, jeton, politic, trecere, maraton, zaruri, suma1, mere1, agitatie, lacuri, secv, sotron, triunghi, carti1, spioni, kalah, excursia, matricea, maxq, oras, furnici, baschet, ingerasi, numar1, prieteni, aritma, cezar, bifo, pal, seceta, bare, soricel1, antena, avere, paianjen, bloc, schi, suma3, fractie, tunel, pepsi, prefix, tren3, avion, premii1, csir, top, bsir, secvente, cod4, cuburi3, limbaj, panouri, sant1, zumzi, sport1, baschet1, mere3, powerpuff, placare, sir4, volei1, tabel, ocr, numere7, lacusta, flori, pluton, elfi, mare, grupe1, maroco, cartonas, cabina, case, cod5, furnica, numere8, paritate, comoara1, exponent, control, exp1, joc13, popas, reactivi, siruri1, vanatoare, submult, text1, taxe1, visul, paranteze, puncte3, cub3, numere9, panglica, pietre, poartas, sume2, bal, secvsir, vot, prefix1, accesibil, palc, standard, bursa, meteo, jetoane, printesa, palindrom, joker, matriosca, loto, cuvant, cladiri1, secvente1, zar, tren4, asociativ, lego, medalii, figura, joc14, neuroni, char, dartz, turism1, calorii, xor1, paltrei, album, livada1, colorare, greutati, brazi, submatrix1, plaja, cd1, cifru3, permutare, miere, tetris1, conferinta, atelier, radical, bileprime, nx, atletism, sumb, minmax, sumacifre, jocprim, sircifre, cmmdcsecv, secvb, siruri3, cifru4, vase, carte1, grad1, litere, magic6, macheta, butoane, ec, stalpi2, fagure, goe, papusa, taburet, mesaj3, zar1, joc16, talent, joc18, cos, punctfix, risipa, liste, triburi, nr0, oneton, nor, nrpomi, paisprezece, anagramabil, zuma, joc20, dale, perechi2, consiliu, becuri2, codpatrat, adprod, qtri, reconst, arme, triunghi4, deal, ozn1, cifru5, flori1, elicop, roata, trifoi, maxbin, culori2, numar5, bile6, proiecte, alune, cuburi4, sstabil, intersectii, copaci2, 7segmente, amedie, drept2, divider, eliminare, matd3, prodnr, fraze, vectori1, compar, unific, galbeni, clepsidru, calcule, puncte6, maxp, cursa1, secvp, swap, extraprime, onigim, divizori1, remi1, tetris3, amestec, eoliene, split, momente, secvente2, ausoara, aranjare2, vintage, sminus, subsets, interclasare, palindromuri, colina, doitrei, rebus1, tcif, munte3, triunghi6, schi1, rascoala, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
surse trimise | ajutor