Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | abce.in, abce.out | Sursă | arhiva educationala |
Autor | Marius Dumitran | Adăugată de | |
Timp execuţie pe test | 0.2 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Arbori binari de cautare echilibrati
Chichi, ambitios din fire, va da o multime vida initial si doreste sa ii raspundeti la Q intrebari de tipul:
- 1 : inserati un numar X in multime
- 2 : stergeti numarul X din multime (daca acesta exista)
- 3 : afisati 1 daca numarul X este in multime, alftel afisati 0
- 4 : afisati cel mai mare numar Y, mai mic sau egal cu X
- 5 : afisati cel mai mic numar Y, mai mare sau egal cu X
- 6 : afisati in ordine sortata, toate numele Z, unde X ≤ Z ≤ Y
Date de intrare
În fişierul de intrare abce.in se va afla pe prima linie un numar Q. Urmatoarele Q linii vor contine informatiile: tipul operatiei (de la 1 la 6), X si Y (doar daca este operatie de tip 6).
Date de ieşire
În fişierul de ieşire abce.out se vor afla in ordine, raspunsurile pentru operatiile de tip 3 (1 sau 0), tip 4 si 5, si tip 6 (toate numerele cerute pe aceeasi linie, separate printr-un spatiu).
Restricţii
- 1 ≤ Q ≤ 100.000
- Pentru 50% din punctaj, 1 ≤ Q ≤ 1.000
- Pentru 30% din punctaj, Chichi va cere sa rezolvati doar operatii de tipurile 1, 2 si 3
- Pentru alte 40% din punctaj, Chichi va cere sa rezolvati doar operatii de tipurile 1, 2, 3, 4 si 5
- -1.000.000.000 <= X, Y <= 1.000.000.000
- Se garanteaza ca operatiile de tip 6 sunt maxim 50
- Se garanteaza ca nu se va efectua o operatie de tip 1 cu un X care se afla deja in multime
Exemplu
abce.in | abce.out |
---|---|
10 3 10 1 5 1 7 2 7 1 8 1 10 4 6 5 6 6 6 20 3 5 | 0 8 5 8 10 1 |