Codeforces Round 190 (Div. 1)
B
Ciel and Duel
Codeforces
1900
原题
← AC →
翻译中…

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.

翻译中…

Input

翻译中…

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

翻译中…

Output an integer: the maximal damage Jiro can get.

翻译中…

Note

翻译中…

In the first test case, Ciel has 3 cards with same $*strength*$. The best strategy is as follows. First she uses one of these 3 cards to attack "ATK 2000" card first, this attack destroys that card and Jiro gets $2500 - 2000 = 500$ damage. Then she uses the second card to destroy the "DEF 1700" card. Jiro doesn't get damage that time. Now Jiro has no cards so she can use the third card to attack and Jiro gets $2500$ damage. So the answer is $500 + 2500 = 3000$.

翻译中…

In the second test case, she should use the "1001" card to attack the "ATK 100" card, then use the "101" card to attack the "ATK 10" card. Now Ciel still has cards but she can choose to end her battle phase. The total damage equals $(1001 - 100) + (101 - 10) = 992$.

翻译中…

In the third test case note that she can destroy the "ATK 0" card by a card with strength equal to 0, but she can't destroy a "DEF 0" card with that card.

翻译中…

样例

Input #1
2 3
ATK 2000
DEF 1700
2500
2500
2500
Output #1
3000
InputCopy OutputCopy
Input #2
3 4
ATK 10
ATK 100
ATK 1000
1
11
101
1001
Output #2
992
InputCopy OutputCopy
Input #3
2 4
DEF 0
ATK 0
0
0
1
1
Output #3
1
InputCopy OutputCopy
题目信息
题号
321B
时间限制
2 s
内存限制
256 MB
标签
动态规划
网络流
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。