1483 : 浸泡!

时间限制Time Limit 1 Sec 内存限制Memory Limit 512 MB 提交次数Submitted 0 Times 通过次数Solved 0 Times 标准评测Standard Judge

题目描述Description

这是计划的一部分

恒纪元到来了!TUStarry 需要将 DOGGOD 从脱水状态中唤醒。秉着不浪费水的原则,TUStarry 需要量出精确x 升水,目前有 n 个水桶,第 i 个水桶的容量是 a_i 升,TUStarry 可以进行以下操作:

  1. 选择第 i 个水桶,将该水桶灌满水
  2. 选择第 i 个水桶 和 第 j 个水桶(i \ne j),将第 i 个水桶的水倒入第 j 个水桶中
    • 如果这两个水桶的水不足以灌满第 j 个水桶,则需要把第 i 个水桶中的所有水倒入第 j 个水桶中,才能保证精确
    • 如果这两个水桶的水大于第 j 个水桶的容量,则当第 j 个水桶满时,需要停止倒入,才能保证精确
  3. 选择第 i 个水桶,将该水桶中的水全部倒掉

经过上述任意操作后,TUStarry 想要只有一个水桶里有水,且该水桶里有 x 升水。在此基础上,TUStarry 想要让被倒掉的水尽可能少

TUStarry 刚从脱水状态中苏醒,没有办法计算这些复杂的问题,聪明的你能帮帮他吗?

为什么需要计算精确的 x 升水?

这是计划的一部分!

输入格式Input

一共有 t 组样例

1 行包括一个正整数 t (1 \le t \le 10),代表着一共有 t 组样例

对于每组样例:

1 行包括两个正整数 n, x (1 \le n \le 5, 1 \le x \le 10^9),代表着现在有 n 个水桶 以及 TUStarry 最终想要 x 升水

2 行包括 n 个正整数 a_i (1 \le a_i \leq 10),代表着第 i 个水桶的容量为 a_i

输出格式Output

对于每组样例:

每组样例的输出独占一行

如果能精确量出 x 升水,则输出一个整数 w,代表最少倒掉 w 升水

如果不能精确量出 x 升水,则输出 -1

样例Sample

出题Author

dgsvygd