[Login|Register]
Problems

Status

Rank

Problem 1165
Stack
Time Limit: 1000ms
Memory Limit: 65536kb
Description
我们都知道栈支持push和pop操作,push操作表示在栈顶增添一个元素,pop操作表示将栈顶元素删除。现在假设初始状态存在一个空栈,我们通过push和pop操作动态地改变这个栈的状态,现在的问题是,你能很快找出目前栈中的最小的元素吗?当然,如果栈中元素个数小于1,你将不能找到最小的元素。如果栈为空栈,你不能进行pop操作。
Input
多组输入,以0作为输入结束。
针对每组输入:首先输入一个正整数N(1<=N<=200000),下面有N行,每行输入格式可能有如下三种:
pop
push x(x代表一个正整数元素,其值不大于1000)
find
Output
针对每次输入的find,输出相应的最小元素,如果不存在,输出-1。当然如果有不合理的pop操作,输出“You Can't Do Pop Operation !”处理完一组数据后,输出空行后再处理下一组数据。
Sample Input
9
pop
push 6
push 5
push 4
find
pop 
find
push 2
find
6
pop
find	
push 3
push 5
push 2
find
0
Sample Output
You Can't Do Pop Operation !
4
5
2

You Can't Do Pop Operation !
-1
2
University of Science and Technology of China
Online Judge for ACM/ICPC
Processed in 0.6ms with 1 query(s).