CF1834E MEX of LCM

题目描述

给定一个长度为 $n$ 的数组 $a$。一个正整数 $x$ 被称为“好数”,如果无法在数组中找到一个子段,使得该子段所有元素的最小公倍数等于 $x$。 你需要找到最小的“好数”。 数组 $a$ 的一个子段是指 $a_l, a_{l + 1}, \ldots, a_r$,其中 $1 \le l \le r \le n$。我们用 $[l, r]$ 表示这样的子段。

输入格式

每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 5 \cdot 10^4$)——表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 3 \cdot 10^5$)——数组 $a$ 的长度。 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$)——数组 $a$ 的元素。 保证所有测试用例中 $n$ 的总和不超过 $3 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示最小的“好数”。

说明/提示

在第一个测试用例中,$4$ 是一个“好数”,并且是最小的,因为 $1,2,3$ 都出现在数组中,这意味着存在长度为 $1$ 的子段,其最小公倍数分别为 $1,2,3$。然而,不可能找到一个子段,其最小公倍数等于 $4$。 在第二个测试用例中,$7$ 是一个“好数”。$1,2,3,4,5$ 都明确出现在数组中,$6$ 是子段 $[2, 3]$ 和 $[1, 3]$ 的最小公倍数。 在第三个测试用例中,$1$ 是一个“好数”,因为子段 $[1, 1], [1, 2], [2, 2]$ 的最小公倍数分别为 $2,6,3$。 由 ChatGPT 4.1 翻译