【模板】堆
题号:NC233691
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

请你实现一个堆(大根堆)。
操作:
push x:将x加入堆。保证x为int型整数。不输出任何内容。
top:输出堆顶元素。若堆为空,输出"empty"(不含引号)。
pop:输出堆顶元素,且弹出堆顶。若堆为空,输出"empty"(不含引号)。

输入描述:

第一行输入一个整数n (),表示操作次数。
接下来的n行,每行一个字符串,表示一个操作。保证操作是题目描述中的一种。

输出描述:

按对应操作要求输出。
示例1

输入

复制
11
push 1
top
push 3
top
push 2
top
pop
pop
pop
top
pop

输出

复制
1
3
3
3
2
1
empty
empty