Implementação de um Heap Personalizado

Dado um heap inicialmente vazio, é solicitado que executes q consultas. Existem 3 tipos de consultas:
  1. add x – deve adicionar x ao heap
  1. pop – deve remover a raiz do heap
  1. max – deve imprimir o elemento máximo do heap

Entrada

A primeira linha da entrada contém um único inteiro q (1 ≤ q ≤ 10^5).
As próximas q linhas contêm as consultas, cada uma em sua própria linha. Garante-se que, para todas as consultas add, o valor de x não excede em valor absoluto. Também é garantido que todas as operações são válidas e que não haverá operações pop em um heap vazio.

Saída

O programa deve imprimir, em linhas separadas, os valores correspondentes a todas as consultas max.

Exemplos

Entrada
Saída
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