CF1183B Equalize Prices
题目描述
商店里有 $n$ 件商品,第 $i$ 件商品的价格为 $a_i$。店主希望将所有商品的价格统一,但又希望价格变动平稳。
具体来说,店主可以将某件商品 $i$ 的价格从 $a_i$ 调整为 $b_i$,要求新旧价格之差不超过 $k$,即满足 $|a_i - b_i| \le k$(其中 $|x|$ 表示 $x$ 的绝对值)。
每件商品的价格最多只能调整一次。注意,店主可以选择不调整某些商品的价格。每件商品的新价格 $b_i$ 必须为正整数(即对所有 $i$,都有 $b_i > 0$)。
你的任务是找出所有商品可以统一成的最大可能价格 $B$,使得对所有商品都满足 $|a_i - B| \le k$(其中 $a_i$ 是原价,$B$ 是所有商品的新统一价格),或者报告不存在这样的价格 $B$。
注意,所选的价格 $B$ 必须是整数。
你需要回答 $q$ 个独立的询问。
输入格式
输入的第一行包含一个整数 $q$($1 \le q \le 100$),表示询问的数量。每个询问由两行组成。
每个询问的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 100, 1 \le k \le 10^8$),分别表示商品的数量和 $k$ 的值。第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^8$),表示每件商品的原价。
输出格式
输出 $q$ 行,每行一个整数,第 $i$ 行表示第 $i$ 个询问的答案 $B$。
如果无法将所有商品的价格统一为某个整数 $B$,使得对所有商品都满足 $|a_i - B| \le k$,则输出 $-1$。否则输出所有商品可能统一的最大价格 $B$。
说明/提示
在第一个样例询问中,可以选择价格 $B=2$。可以发现每个商品的原价与新价 $B=2$ 的差值都不超过 $1$。
在第二个样例询问中,可以选择价格 $B=6$,此时所有商品的原价与新价 $B=6$ 的差值都不超过 $2$。
在第三个样例询问中,无法选择任何合适的价格 $B$。对于任意 $B$,至少有一个条件不满足:$|1-B| \le 2$,$|6-B| \le 2$。
在第四个样例询问中,所有 $B$ 取值在 $1$ 到 $7$ 之间都合法,但最大值为 $7$,所以答案是 $7$。
由 ChatGPT 4.1 翻译