记忆水晶
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
在遥远的幻想王国中,公主被邪恶巫师囚禁在了一个复杂的迷宫深处。勇敢的骑士决定踏上征途,解救公主。但迷宫中布满了陷阱和谜题,为了顺利通过,骑士需要利用一种特殊的“记忆水晶”来帮助他记录路径上的关键信息,并找到最短的逃生路线。
这个“记忆水晶”具有神奇的能力,可以模拟成一个栈(Stack),支持三种操作:
- push(x): 当骑士进入一个房间时,他会记录下房间的危险等级(假设用整数表示,数值越小表示越安全),并将其“push”到水晶中。
- pop(): 当骑士离开一个房间时,他会从水晶中“pop”出该房间的危险等级,作为回忆的一部分。
- getMin(): 骑士随时需要知道自己经过的房间中,哪个是最安全的(即危险等级最低的房间),以便在必要时选择返回。因此,他需要“getMin”操作来查询当前栈中的最小值。
输入
第一行输入一个整数n,表示操作的次数。
接下来n行,每行输入1个操作。每个操作格式如下
操作1:push ,x 表示一个骑士进入了危险等级为x的房间。
操作2:pop , 表示一个骑士离开房间;如果没有骑士在房间里则该操作无效。
操作3:getmin,表示获取当前最安全的房间危险等级。如果没有骑士在房间里则该操作无效,输出-1;。
输出
对于每次执行getmin操作时的结果。
8
push 3
push 2
push 1
push 4
getmin
pop
pop
getmin
1
2
13
pop
push 9
pop
push 6
pop
push 5
push 1
pop
push 4
getmin
pop
push 2
getmin
4
2
数据范围
卓越班-Day03测试
- Status
- Done
- Rule
- ACM/ICPC
- Problem
- 5
- Start at
- 2024-7-23 9:00
- End at
- 2024-7-23 10:00
- Duration
- 1 hour(s)
- Host
- Partic.
- 1