Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | heapuri.in, heapuri.out | Sursă | Arhiva educationala |
Autor | Arhiva Educationala | Adăugată de | |
Timp execuţie pe test | 0.125 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Heapuri
Se da o multime de numere cu N elemente. Se cere sa se efectueze M operatii asupra acestei multimi astfel. Operatiile sunt de 3 tipuri:
- Operatia de tipul 1: inserareaza elementul x in multime
- Operatia de tipul 2: stergerea elementului x din multime
- Operatia de tipul 3: care este elementul minim din multime
Date de intrare
Fisierul de intrare heapuri.in va contine pe prima linie numarele N si M. Pe a doua linie se vor afla N numere, reprezentand multimea initiala. Pe liniile 3..$M+2$ se vor afla operatiile descrise astfel: un numar cod reprezentand tipul operatiei, iar in caz ca acesta este 1 sau 2 se mai da si un numar x avand semnificatia din enunt.
Date de ieşire
Fisierul de iesire heapuri.out va contine pe cate o linie raspunsul pentru fiecare operatie de tipul 3 din fisierul de intrare.
Restricţii
- $ 1 ≤ N ≤ 100 000$
- $ 1 ≤ M ≤ 100 000$
- Elementele multimii nu vor depasi 1 000 000 000
Exemplu
table(example). |_. heapuri.in |_. heapuri.out |
| 5 6
4 9 7 12
3
1 2
2 4
3
2 2
3
|
4
2
7
|
Explicaţie
La prima operatie de tipul 3 multimea arata astfel: {4, 9, 7, 12}
La a doua operatie de tipul 3 multimea arata astfel: {2, 9, 7 12}
la a treia operatie de tipul 3 multimea arata astfel: {9, 7, 12}