CF1419C Killjoy

题目描述

一个名为 Killjoy 的新特工发明了一种名为 COVID-2069 的病毒,可以感染 Codeforces 上的账号。每个账号都有一个整数评分(可能为负数或非常大)。 Killjoy 的账号已经被感染,其评分为 $x$,且该评分保持不变。除了她之外,还有 $n$ 个账号,编号从 $1$ 到 $n$。第 $i$ 个账号的初始评分为 $a_i$。任何已感染的账号(初始时只有 Killjoy 的账号被感染)会立即感染所有评分与其相等的未感染账号。这种感染可以在一开始(在任何评分变化之前)发生,也可以在每次比赛后发生。如果一个账号被感染,则无法治愈。 Codeforces 定期举办比赛。在每场比赛中,这 $n$ 个账号中的任意账号(包括已感染的账号)都可以参加。Killjoy 不能参加。每场比赛后,所有参赛账号的评分会发生变化:每个参赛账号的评分会改变一个整数,但所有变化的总和必须等于零。新的评分可以是任意整数。 请你求出使所有账号都被感染所需的最少比赛次数。你可以选择每场比赛的参赛账号以及他们的评分变化方式。 可以证明,所有账号都能在有限次数的比赛后被感染。

输入格式

第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来的 $2t$ 行给出所有测试用例的描述。 每个测试用例的第一行包含两个整数 $n$ 和 $x$($2 \le n \le 10^3$,$-4000 \le x \le 4000$),分别表示 Codeforces 上账号的数量和 Killjoy 的账号评分。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($-4000 \le a_i \le 4000$),表示其他账号的评分。

输出格式

对于每个测试用例,输出一个整数,表示使所有账号都被感染所需的最少比赛次数。

说明/提示

在第一个测试用例中,可以让所有账号的评分都变为 $69$。第一个账号的评分增加 $1$,第二个账号的评分减少 $1$,这样所有变化的总和为零。 在第二个测试用例中,所有账号会立即被感染,因为所有账号(包括 Killjoy 的账号)的评分都等于 $4$。 由 ChatGPT 4.1 翻译