CF18D Seller Bob
题目描述
去年 Bob 通过出售存储棒赚钱。在他的 $n$ 个工作日中,每一天都会发生以下两种事件之一:
- 有顾客前来,要求购买一根容量为 $2^{x}$ MB 的存储棒。如果 Bob 手上有这样的存储棒,他会将其卖出,并获得 $2^{x}$ 柏拉币。
- Bob 赢得某个编程比赛,作为奖励获得了一根容量为 $2^{x}$ MB 的存储棒。Bob 可以选择将这根存储棒送给他的朋友,或者自己保留。
Bob 从不同时保存超过一根存储棒,因为他害怕把容量弄混了,从而无意间欺骗顾客。已知每种容量的存储棒,最多只会有一位顾客想要购买。现在,已知过去 $n$ 天内所有顾客的需求和编程竞赛获得的奖品,Bob 想知道,如果他事先知道所有事件,最多能赚到多少柏拉币。
输入格式
第一行输入一个整数 $n$($1 \leq n \leq 5000$),表示 Bob 的工作天数。接下来的 $n$ 行,每行描述一天的事件。
"sell x" 表示这一天有顾客前来,要购买一根容量为 $2^{x}$ MB 的存储棒($0 \leq x \leq 2000$)。保证每个 $x$ 最多只会出现一次 "sell x"。
"win x" 表示这一天 Bob 赢得了一根容量为 $2^{x}$ MB 的存储棒($0 \leq x \leq 2000$)。
输出格式
输出如果 Bob 事先知道所有事件,最多能赚到多少柏拉币。
说明/提示
由 ChatGPT 5 翻译