1483 : 浸泡!
时间限制Time Limit
1
秒Sec
内存限制Memory Limit
512
兆MB
提交次数Submitted
0 次Times
通过次数Solved
0 次Times
标准评测 Standard
从标准输入读入,结果写到标准输出。评测将输出拆成 token,与标准答案逐项比较,不按整段逐字节比对。
Read from standard input and write to standard output. The judge splits the output into tokens and compares them with the official answer; it does not compare raw bytes.
| 比对Compare | token 相同即通过。中间的空格、制表符、换行可多可少。Matching tokens pass. Extra spaces, tabs, or newlines between them are ignored. |
|---|---|
| 不同则错Differs | token 个数或内容不同即错误。23 与 2 3、02 与 2、2.0 与 2 均视为不同。A different token count or value is wrong. 23 vs 2 3, 02 vs 2, and 2.0 vs 2 all differ. |
| 输入Input | 标准输入,格式见题面。Standard input; format as in the statement. |
| 输出Output | 标准输出。Standard output. |
题目描述Description
这是计划的一部分
恒纪元到来了!TUStarry 需要将 DOGGOD
从脱水状态中唤醒。秉着不浪费水的原则,TUStarry
需要量出精确的 x
升水,目前有 n 个水桶,第 i 个水桶的容量是 a_i 升,TUStarry
可以进行以下操作:
- 选择第 i 个水桶,将该水桶灌满水
- 选择第 i 个水桶 和 第 j 个水桶(i \ne
j),将第 i 个水桶的水倒入第
j 个水桶中
- 如果这两个水桶的水不足以灌满第 j 个水桶,则需要把第 i 个水桶中的所有水倒入第 j 个水桶中,才能保证精确
- 如果这两个水桶的水大于第 j 个水桶的容量,则当第 j 个水桶满时,需要停止倒入,才能保证精确
- 选择第 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