#P972. 银行服务

银行服务

题目描述

有一家银行,只有一个柜台,若有多名客户前来取钱,他们必须按照先来后到的顺序排队。

在营业期间,发生了 nn 件事,记录如下:

  • 新来一个客户,准备取走 xx 元,以 + x 记录。
  • 排在第一位的客户取完钱离开了,以 - 记录,保证此时银行里至少存在一个客户。
  • 银行经理要求查询目前留在银行的客户中最高的取款数额,以 ? 记录,若查询时没有客户,记作 00

给定记录的事件序列,请为每个查询记录计算并输出查询结果。

输入格式

  • 单个整数 nn:表示事件数量
  • nn 行:每行一个字符,表示一个事件:
    • 保证字符只可能是 +-?
    • 若以 + 开头,后接一个整数 xx

输出格式

  • 若干行:对每个查询,计算留在银行中的客户的最高取款金额。
6
+ 10
+ 1
+ 5
?
-
?
10
5

数据范围

  • 30%30\% 的数据,1n10001\leq n\leq 1000
  • 60%60\% 的数据,1n200001\leq n\leq 20000
  • 100%100\% 的数据,1n300,0001\leq n\leq 300,000
  • 1x1,000,000,0001\leq x\leq 1,000,000,000