SP6823 CFJUN21 - Seller Bob
题目描述
去年,鲍勃靠卖内存条赚了一些钱。在他工作的 $n$ 天里,每天会发生两种情况之一:
- 如果有顾客来买一个 $2^x$ MB 的内存条,而且鲍勃正好有这种内存条,那他就把它卖掉,赚取 $2^x$ 贝拉。
- 如果鲍勃赢得了一场编程比赛,奖品是一个 $2^x$ MB 的内存条,他可以选择把这个内存条留给朋友,或自己保留。
鲍勃从来不会同时拥有多于一个内存条,因为他怕搞混内存条的大小,从而无意中欺骗顾客。现在,知道过去 $n$ 天的全部顾客需求和比赛奖品情况后,鲍勃想计算一下,如果做出最佳决策,他最多能赚多少钱。
输入格式
第一行输入一个整数 $n$,表示鲍勃工作的天数($1 \le n \le 100\,000$)。接下来的 $n$ 行描述每一天的事件。`sell x` 表示当天有顾客要买一个 $2^x$ MB 的内存条($0 \le x \le 30$)。保证每个 $x$ 至多只出现一次 `sell x`。`win x` 表示鲍勃在当天赢得了一个 $2^x$ MB 的内存条($0 \le x \le 30$)。
输出格式
输出一个整数,表示如果知道所有事件发生的情况,鲍勃能够赚取的最大收益(以贝拉为单位)。需要注意的是,鲍勃不能同时保有多个内存条。
**本翻译由 AI 自动生成**