题目描述

陶陶最近在玩这样的一种卡牌游戏,具体游戏规则如下:

  1. 卡牌中有若干张A/2/3/4/5/6/7/8/9/10/J/Q/K牌,点数分别为1至13点
  2. 弃置一张卡牌,并对敌军造成伤害,卡牌所能造成的伤害为卡牌的点数

初始时陶陶会获得N张卡牌,并且会产生一张生命值为 M的敌军卡牌,陶陶需要利用自己的手牌将敌军消灭,在消灭敌军的同时需要保证自己所剩下的卡牌点数之和尽可能大,陶陶想知道自己在消灭敌军完后剩余卡牌点数之和的最大值(若无法消灭,请输出-1),请你帮帮他。


输入格式

第一行为两个整数N和M,表示初始时卡牌数量以及敌军卡牌生命值
第二行为N个整数,表示各张卡牌的类型


输出格式

输出一个整数,表示陶陶在消灭敌军完后剩余卡牌点数之和的最大值(若无法消灭,请输出-1)


样例数据

输入

Input1:
4 5
A 2 4 5

Input2:
4 5
2 2 J K

Input3:
4 5
A A A A

输出

Output1:
7

Output2:
17

Output3:
-1

备注

数据范围:
$1 \leq N \leq 10^6,1 \leq M \leq 10^6,1 \leq N*M \leq 10^8$
样例解释:
对于样例1:弃置点数为1和4的两张卡牌A和4消灭敌军,剩下点数分别为2和5,此时卡牌点数之和为7(弃置方法不唯一,也可以直接弃置点数为5的卡牌5消灭敌军)
对于样例2:弃置点数为11的卡牌J消灭敌军,剩下点数分别为2、2和13,此时卡牌点数之和为17
对于样例3:无法消灭敌军,此时输出-1
(更新题目测试数据,解决原先部分代码在读入数据时可能出现的问题)


操作

评测记录

优秀代码

信息

时间限制: 1s
内存限制: 128MB
评测模式: Normal

题解