#38. 盲盒游戏 box

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: WendyAsif

题目描述

你参与了一项开盲盒的活动。主办方已经提前公示,一共有 种不同的盲盒,第 种盲盒有 个,同种的盲盒奖励相同,不同种盲盒的奖励不同。

这个盲盒活动有一些特殊,你必须要选择两个盲盒,并且同时打开,并且,如果这两个盲盒打开时,盲盒内的奖励相同,那么,你将没有任何奖励,否则,你可以带走两个盲盒内的奖励。

但是,主办方允许你在打开之前,支付 k 元,提前知道一个盲盒内的奖励是什么。

注意:你可以多次支付 k 元,以知道更多的盲盒内的奖励是什么。主板方保证,一定不会重复告知你同一个盲盒内的奖励。

你非常喜欢该盲盒的奖励,因此你愿意用一些零花钱去保证自己一定能获得奖励。但是你也想尽可能节约零花钱,于是你想知道,最坏情况下,需要至少花多少钱才能保证自己一定可以获得奖励

输入格式

每个测试文件均包含多组测试数据。

第一行输入一个整数 代表数据组数,每组测试数据描述如下:

  • 第一行输入两个整数 代表盲盒种类数, 代表预知一个盲盒需要支付的钱。

  • 第二行输入 个整数 代表每种盲盒的数量。

除此之外,保证每一组测试数据的盲盒总数之和不小于 ;单个测试文件的 之和不超过

输出格式

对于每一组测试数据,如果没有必胜策略,直接输出

否则,在单独的一行上输出一个整数,代表你至少花多少钱才能保证自己一定可以获得奖励

样例

样例输入

3
2 100
1 1
1 100
10
2 1
2 3

样例输出

0
-1
3

样例解释

对于第一组测试数据,只有两个盲盒,且不是同种类的,直接打开即可,无需花费零花钱。