Implementar un Heap (Montículo) Personalizado

Dado un montículo inicialmente vacío, se te pide realizar q consultas. Existen 3 tipos de consultas:
  1. add x - agrega x al montículo
  1. pop - elimina la raíz del montículo
  1. max - imprime el elemento máximo del montículo

Entrada

La primera línea de la entrada contiene un único número entero q (1 ≤ q ≤ 10^5).
Las siguientes q líneas contienen las consultas, cada una en una línea separada. Se garantiza que para todas las consultas add, el valor de x no supera en valor absoluto. Se garantiza que todas las operaciones son válidas y que no habrá operaciones pop sobre un montículo vacío.

Salida

El programa debe imprimir los valores correspondientes a todas las consultas max en líneas separadas.

Ejemplos

Entrada
Salida
9 add 1 add 2 max add -3 add 4 max add -2 pop max
2 4 2
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue