#2861. Ciel 与决斗
Ciel 与决斗
题目描述
狐狸 Ciel 正在和她的朋友 Jiro 玩卡牌游戏。
Jiro 有 张牌,每张牌有两个属性:位置(攻击或防御)和力量。狐狸 Ciel 也有 张牌,同样有这两个属性。已知 Ciel 的所有牌都是攻击位。
现在轮到 Ciel 的战斗阶段,她可以多次执行以下操作:
- 选一张自己的牌 。这张牌之前不能被选过。
- 若此刻 Jiro 没有存活的牌,Jiro 受到等于( 的力量)的伤害。否则,Ciel 需要选一张 Jiro 的存活牌 :
- 若 是攻击位,必须满足( 的力量)( 的力量)。此攻击之后牌 死亡,Jiro 受到( 的力量)( 的力量)的伤害。
- 若 是防御位,必须满足( 的力量)( 的力量)。此攻击之后牌 死亡,但 Jiro 不受到伤害。
Ciel 可以在任意时刻结束战斗阶段(即她可以不用完全部的牌)。请帮狐狸计算 Jiro 可能受到的最大总伤害。
输入格式
第一行包含两个整数 和 (),分别表示 Jiro 和 Ciel 拥有的牌数。
接下来 行每行是一个字符串和一个整数力量(),即 Jiro 当前这张牌的位置和力量。位置为 "ATK" 表示攻击位,"DEF" 表示防御位。
接下来 行每行一个整数力量(),即 Ciel 当前这张牌的力量。
输出格式
输出一个整数:Jiro 可能受到的最大伤害。
2 3
ATK 2000
DEF 1700
2500
2500
2500
3000
3 4
ATK 10
ATK 100
ATK 1000
1
11
101
1001
992
2 4
DEF 0
ATK 0
0
0
1
1
1
说明/提示
第一组样例中,Ciel 有 3 张力量相同的牌。最优策略是:先用其中一张攻击 "ATK 2000",牌毁掉后 Jiro 受到 点伤害;再用第二张毁掉 "DEF 1700",此时 Jiro 不受伤害;现在 Jiro 没有存活牌了,她用第三张直接攻击,Jiro 受到 2500 点伤害。合计 。
第二组样例中,她应该用力量 1001 的牌攻击 "ATK 100",再用力量 101 的牌攻击 "ATK 10"。此时 Ciel 还有牌,但她可以选择结束战斗阶段。总伤害为 。
第三组样例注意:力量为 0 的牌可以毁掉 "ATK 0",但不能毁掉 "DEF 0"。