Problem6713--仓库日志

6713: 仓库日志

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

小明最近要对公司仓库的货物进出情况进行统计,目前他所拥有的唯一记录就是一个记录每一批货物进出情况的日志。该日志记录了两类操作:
第一类操作为货物入库操作,以及该次入库的货物重量;
第二类操作为货物的出库操作。
这些记录都严格按时间顺序排列。货物入库和出库的规则为先进后出,即每次出库操作出库的货物为当前在仓库里所有货物中最晚入库的一批货物。
出于分析目的,小明在日志中随机插入了若干第三类操作――查询操作。
分析日志时,每遇到一次查询操作,都要报告出当前仓库中最大一批货物的重量。

Input

包含 N+1 行:
第一行为 1 个正整数 N(N<=200000),对应于日志内所含操作的总数。
接下来的 N 行,分别属于以下三种格式之一:
格式 1: 0 X (X<=108)
格式 1 说明: 0 表示这是一次货物入库操作,正整数 X 表示该次入库的货物的
重量
格式 2: 1
格式 2 说明:1 表示这是一次货物出库操作,(就当时而言)最后入库的货物出库
格式 3: 2
格式 3 说明:2 表示这是一次查询操作,要求分析程序输出当前仓库内最大货物
的重量
当仓库为空时你应该忽略出库操作,当仓库为空查询时你应该输出 0。

Output

输出行数等于日志中查询操作的次数。每行为一个正整数,表示查询结果。

Sample 1 Input

13										
0  1									
0  2									
2										
0  4									
0  2
2
1
2
1
1
2
1
2

Sample 1 Output

2
4
4
1
0

HINT

此题考察栈的基本应用,一方面利用栈去执行货物的进出情况,另外一方
面考察如何利用单调栈记录当前货物重量的最大值。

Source/Category

久智乐博