Diferente pentru problema/luffxor intre reviziile #1 si #4

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="luffxor") ==
Poveste şi cerinţă...
Desi nu a terminat inca de numarat muntii din problema precedenta, Bluff a fost strafulgerat de o noua idee de problema. Entuziasmat de noua sclipire, s-a grabit sa o impartaseasca si prietenilor lui. Spre dezamagirea lui Bluff, acestia nu au parut insa prea incantati de descoperirea sa; mai mult, din motive necunoscute, el a fost si poreclit TractoBluff. Ajutati-i totusi pe prietenii lui Bluff sa rezolve problema acestuia pentru a nu se simti inferiori:
 
Se da $V$, un multiset (acelasi numar poate aparea de mai multe ori), initial gol, asupra caruia se aplica trei tipuri de operatii:
 
# O operatie de tip $0$, data sub forma $(0, x)$, insereaza numarul $x$ in $V$;
# O operatie de tip $1$, data sub forma $(1, x)$, sterge al $x$-lea numar inserat in $V$. Se garanteaza ca operatia este valida: acesta nu a fost deja sters iar $x ≤$ numarul de inserari facute pana la momentul respectiv. Operatiile de insert sunt indexate incepand cu $1$;
# O operatie de tip $2$, data sub forma $(2, x, k)$, cere calcularea numarului de elemente $y$ din $V$, cu proprietatea $y xor x ≤ k$.
 
Dandu-se operatiile ce se aplica asupra multisetului V, sa se afle raspunsurile pentru operatiile de tip $2$.
h2. Date de intrare
Fişierul de intrare $luffxor.in$ ...
Pe prima linie a fisierului de intrare $luffxor.in$ se afla $m$, numarul de operatii. Pe urmatoarele $m$ linii se afla operatiile aplicate, cate una pe linie, in ordinea executarii lor, in formatul descris anterior.
h2. Date de ieşire
În fişierul de ieşire $luffxor.out$ ...
Fisierul de iesire $luffxor.out$ va contine $q$ linii, unde $q$ este numarul de operatii de tip $2$ executate. Raspunsurile vor fi afisate cate unul pe linie.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $m ≤ 200.000$
* $1 ≤$ toate numerele din fisierul de intrare $≤ 2.000.000.000$
* Acelasi poate aparea de mai multe ori in $V$
* Pentru 30% din teste, $m ≤ 10.000$
* Pentru alte 10% din teste, toate numerele din fisierul de intrare (in afara de numarul de operatii si indicii operatiilor de stergere) $≤ 100$
 
h2. Exemplu
table(example). |_. luffxor.in |_. luffxor.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
 
h3. Explicaţie
| 5
  0 1
  0 2
  2 3 1
  1 2
  2 3 1
| 1
  0
|
...
== include(page="template/taskfooter" task_id="luffxor") ==
 
== include(page="template/taskfooter" task_id="luffxor") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.