题库练习 Ciel and Duel
← 上一题 下一题 →

A9163 | Ciel and Duel

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Fox Ciel is playing a card game with her friend Jiro.

Jiro has $n$ cards, each one has two attributes: $position$ (Attack or Defense) and $strength$ . Fox Ciel has $m$ cards, each one has these two attributes too. It's known that position of all Ciel's cards is Attack.

Now is Ciel's battle phase, Ciel can do the following operation many times:

1. Choose one of her cards $X$ . This card mustn't be chosen before.
2. If Jiro has no alive cards at that moment, he gets the damage equal to ( $X$ 's strength). Otherwise, Ciel needs to choose one Jiro's alive card $Y$ , then:
- If $Y$ 's position is Attack, then ( $X$ 's strength) $>=$ ( $Y$ 's strength) must hold. After this attack, card $Y$ dies, and Jiro gets the damage equal to ( $X$ 's strength) - ( $Y$ 's strength).
- If $Y$ 's position is Defense, then ( $X$ 's strength) $>$ ( $Y$ 's strength) must hold. After this attack, card $Y$ dies, but Jiro gets no damage.

Ciel can end her battle phase at any moment (so, she can use not all her cards). Help the Fox to calculate the maximal sum of damage Jiro can get.

输入格式

The first line contains two integers $n$ and $m$ ( $1<=n,m<=100$ ) — the number of cards Jiro and Ciel have.

Each of the next $n$ lines contains a string $position$ and an integer $strength$ $(0<=strength<=8000)$ — the position and strength of Jiro's current card. Position is the string "ATK" for attack, and the string "DEF" for defense.

Each of the next $m$ lines contains an integer $strength$ ( $0<=strength<=8000$ ) — the strength of Ciel's current card.

输出格式

Output an integer: the maximal damage Jiro can get.

输入输出样例

输入 #1
2 3
ATK 2000
DEF 1700
2500
2500
2500
输出 #1
3000
输入 #2
3 4
ATK 10
ATK 100
ATK 1000
1
11
101
1001
输出 #2
992
输入 #3
2 4
DEF 0
ATK 0
0
0
1
1
输出 #3
1
C++ 编辑器
输入
输出