双十一快到了,明明准备利用双十一进行商品大促销。明明家的商店共有n种商品,第i个产品的价格是ai,为了更好地促销,明明想使所有商品的价格都一样。当然,为了保证利润,他希望平稳地改变价格。
明明可以改变某产品i的价格,使该产品的旧价格ai与新价格bi的差值不超过k,即满足|ai−bi|≤k的条件(|x|为x的绝对值)。
每个产品的价格他只能更改一次。注意,他也可以不改变一些产品的价格,即ai=bi。每个产品i的新价格bi应该是正的(即bi>0)。
你的任务是帮助明明找出所有产品的最大可能的相同价格B,并保证所有商品满足条件|ai−B|≤k(其中ai是产品的旧价格,B是所有产品的相同的新价格)并输出B。如果找不到满足条件的B,则输出-1。
注意,选择的价格B应该是整数。
第一行包含一个整数q(1≤q≤100):测试样例数。每个测试样例有两行。
每个测试样例的第一行包含两个整数n和k(1≤n≤100,1≤k≤108):分别表示商品的数量以及值k。第二行包含n个整数a1,a2,…,an(1≤ai≤108),其中ai是第i个产品的价格。
输出共q行,每行一个整数,其中第i行是第i个测试样例的答案B。
如果不可能使所有给定商品的价格相等,即不存在一个正整数B,使得所有产品满足|ai−B|≤k(其中ai为产品的旧价格,B为所有产品的新的价格),则输出-1。否则,输出所有产品的最高可能相同的价格B。
在第一个测试样例中,您可以选择价格B=2。很容易看出,每个商品的旧价格和新价格B=2之间的差价不超过1。
在第二个测试样例中,您可以选择价格B=6,使得所有商品的新、旧价格之间的差值都不超过2。
在第三个测试样例中,您无法选择任何合适的价格B。对于任意可能的B,至少有两件商品是不符合的:|1−B|≤2,|6−B|≤2。
在第四个测试样例中,1到7之间的所有值都有效。最大值是7,所以B=7。