CF1307B Cow and Friend

题目描述

贝茜有太多朋友了。因为她是所有人最喜欢的牛。她的朋友兔兔在试着跳到贝茜所在的地方,那么他们就可以玩了。 更具体地,兔兔他想跳几步使得他能从 $(0,0)$ 跳到 $(x,0)$。他只想着在二维平面上从一个点跳到另一个点当且仅当两个点的欧几里得距离是他 $n$ 个喜欢的数中的其中一个,也就是 $a_1, a_2, \ldots a_n$。 兔兔最少要跳几步才能从 $(0,0)$ 跳到 $(x,0)$ 呢?兔兔不必跳到一个整数的坐标,换句话说,他可以跳到一个不是整数的坐标。可以证明,兔兔总可以到达他的终点。 重新在此声明,两个点的欧几里得距离可以使用公式算出,设两个点的坐标分别为 $x_1,y_1$ 以及 $x_2,y_2$,那么有公式 $\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$。 如下图所示,如果兔兔喜欢的数是 $1$ 和 $3$的话,那么他可以跳两步从 $(0,0)$ 跳到 $(4,0)$。值得注意的是,这里还有别的方式使得他可以用 $2$ 步跳到 $(4,0)$ 的方法。 ![CF1307B Cow and Friend](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1307B/f7586d192526c0aed9ac1b72d0c3e07431d38d89.png) 图中的就是样例的第一个测试的示意图,两次跳的距离都是 $3$ -- 一个兔兔喜欢的数。换句话说,每一次兔兔都会选一个数 $a_i$,然后任意地跳到一个与这个点距离为 $a_i$ 的地方。 相同的数可以使用多次。

输入格式

输入有多组数据。 第一行,一个整数 $t\ (1 \leq t \leq 1000)$。表示数据组数。 下面的 $2t$ 行,是 $t$ 组数据。 每组数据的第一行,有两个整数 $n,x$,表示喜欢的数的个数以及想要跳到的地方 $(0,x)$。其中 $1 \le n \le 10^5, 1 \le x \le 10^9$。 第二行是兔兔喜欢的整数,有 $n$ 个,依次是 $a_1, a_2, \ldots a_n$,这些数在同组数据中都不相同。 数据保证 $t$ 组数据中 $n$ 的总和都不会超过 $10^5$,

输出格式

对于每组数据,输出一个整数,表示最少要跳多少次才能到终点。

说明/提示

The first test case of the sample is shown in the picture above. Rabbit can hop to $ (2,\sqrt{5}) $ , then to $ (4,0) $ for a total of two hops. Each hop has a distance of $ 3 $ , which is one of his favorite numbers. In the second test case of the sample, one way for Rabbit to hop $ 3 $ times is: $ (0,0) $ $ \rightarrow $ $ (4,0) $ $ \rightarrow $ $ (8,0) $ $ \rightarrow $ $ (12,0) $ . In the third test case of the sample, Rabbit can hop from $ (0,0) $ to $ (5,0) $ . In the fourth test case of the sample, Rabbit can hop: $ (0,0) $ $ \rightarrow $ $ (5,10\sqrt{2}) $ $ \rightarrow $ $ (10,0) $ .