2023冬-B-5 堆栈中的最大值
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
堆栈是一种后进先出的线性结构。本题要求你在实现普通堆栈的进栈(Push)和出栈(Pop)功能时,外加一个查看最大值(PeekMax)的功能。重点是,这个额外的功能不能影响整个堆栈的操作效率。
输入格式
输入第一行首先给出一个正整数 (),是堆栈操作的数量。随后 行,每行给出一个操作,格式为:
Push X
表示将值为X
的元素入栈,其中X
是绝对值不超过 的整数;Pop
表示将栈顶元素出栈;PeekMax
表示要求返回此刻堆栈中最大元素的值。
输出格式
对输入中的每个操作,按照要求执行操作。对每个 Pop
,在一行中输出出栈的元素值;对每个 PeekMax
,在一行中输出此刻堆栈中最大元素的值。若执行 Pop
或 PeekMax
时堆栈是空的,则对应输出 ERROR
,并且不执行该操作。
题目保证至少有一行输出。
样例
11
Pop
Push 34
Push 28
PeekMax
Push 84
PeekMax
Pop
PeekMax
Pop
Pop
PeekMax
ERROR
34
84
84
34
28
34
ERROR
限制
Java (javac) 时间限制 650 ms 内存限制 256 MB
Python (python3) 时间限制 250 ms 内存限制 64 MB
其他编译器 时间限制 150 ms 内存限制 64 MB