#O3045. 慈溪.2016.02.扑克牌游戏(poker)

慈溪.2016.02.扑克牌游戏(poker)

题目描述

扑克牌有 13 种代表不同点书的牌(不考虑花色),入下图所示,从左到右依次为 "A" , "2" , "3" , "4" , ... , "10" , "J" , "Q" , "K" 。

img

小华正在玩一个扑克牌的游戏,在这个游戏中,每种点数的牌都有一个分数(不一定跟点数相同)。现在小华书商已经有 n 张扑克牌,他还想选 m 张扑克牌,使得 n+m 张扑克牌的总分数最大。我们假定每种点数的扑克牌有无穷多。

请编程计算小华在游戏中最多可以获得多少分?

输入格式

第 1 行 13 个整数,一次表示每种点数的牌所代表的分数。

第 2 行 两个整数 n 和 m ,表示小华已经有 n 张扑克牌,还可以挑选 m 张扑克牌。

第 3 行 输入表示小华手上已经有的 n 张扑克牌的情况,输入的扑克牌信息之间没有空格分隔。

数据范围

50% 的测试点输入数据保证小华手上已经有的牌中不会出现 "A" , "10" , "j" , "Q" , "K" 这 5 种点数的牌。

80 %的测试点输入数据保证小华手上已经有的牌中不会出现 "10" 这种点数的牌。

100% 的测试点输入数据保证 1 <= n <= 100, 0 <=m <= 100, 0 <=每种点数的牌所代表的分数 <= 1000。

输出格式

输出一个整数,表示小华在游戏中可以获得的最大分数。

样例

1 3 1 1 1 1 2 3 4 1 3 0 1
3 2
234
13
1 3 1 1 1 1 2 3 4 1 5 0 1
3 2
A3Q
12
1 3 1 1 1 1 2 3 4 1 3 0 5
3 2
A10K
17

样例解释

样例 1 : 小华原来手上有 3 张牌,分别为 "2" , "3" , "4",对应的分数之和为 3 + 1 + 1 = 5 , 他可以再跳 2 张扑克牌,都是点数为 "9" 的扑克牌,这两张牌的分数之和为 4 + 4 = 8 , 所以小华的总得分为 13 分。

样例 2 : 小华原来手上有 3 张牌,分别为 "A" , "3" , "Q",对应的分数之和为 1 + 1 + 0 = 2 , 他可以再跳 2 张扑克牌,都是点数为 "J" 的扑克牌,这两张牌的分数之和为 5 + 5 = 10 ,所以小华的总得分为 12 分。

样例 3 : 小华原来手上有 3 张牌,分别为 "A" , "10" , "K",对应的分数之和为 1 + 1 + 5 = 7 ,他可以再跳 2 张扑克牌,都是点数为 "K" 的扑克牌,这两张牌的分数之和为 5 + 5 = 10 ,所以小华的总得分为 17 分。

注意:小华选牌的方案可能不唯一,但只要分数最大即可,不需要输入选牌的方案。