CF2085F1 Serval and Colorful Array (Easy Version)

题目描述

这是该问题的简单版本。两个版本的区别在于此版本中 $n \leq 3000$。仅当您解决了该问题的所有版本时才能进行 hack。 Serval 有一个魔法数 $k$($k \geq 2$)。我们称数组 $r$ 为 colorful 当且仅当: - $r$ 的长度为 $k$,且 - $1$ 到 $k$ 之间的每个整数在 $r$ 中恰好出现一次。 给定一个由 $n$ 个介于 $1$ 到 $k$ 的整数组成的数组 $a$。保证 $1$ 到 $k$ 之间的每个整数在 $a$ 中至少出现一次。您可以对 $a$ 执行以下操作: - 选择一个下标 $i$($1 \leq i < n$),然后交换 $a_i$ 和 $a_{i+1}$。 求使得 $a$ 中至少存在一个 colorful 子数组$^{\text{∗}}$所需的最小操作次数。可以证明在题目约束下这总是可行的。 $^{\text{∗}}$数组 $b$ 是数组 $a$ 的子数组,当且仅当 $b$ 可以通过从 $a$ 的开头和结尾删除若干(可能为零或全部)元素得到。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 $t$($1 \le t \le 1000$)。接下来描述每个测试用例。 每个测试用例的第一行包含两个整数 $n$ 和 $k$($2 \leq k \leq n \leq 3000$)——数组 $a$ 的长度和 Serval 的魔法数。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq k$)——数组 $a$ 的元素。保证 $1$ 到 $k$ 之间的每个整数在 $a$ 中至少出现一次。 保证所有测试用例的 $n$ 之和不超过 $3000$。

输出格式

对于每个测试用例,输出一个整数 —— 使得 $a$ 中至少存在一个 colorful 子数组所需的最小操作次数。

说明/提示

第一个测试案例中,由于子数组 $[a_1, a_2] = [1, 2]$ 和 $[a_2, a_3] = [2, 1]$ 已经是 colorful 的,因此无需执行任何操作。答案为 $0$。 第二个测试案例中,我们可以交换 $a_1$ 和 $a_2$ 得到 $[1, \underline{2, 1, 3}, 1, 1, 2]$,其中包含一个 colorful 子数组 $[a_2, a_3, a_4] = [2, 1, 3]$。由于原数组初始时没有 colorful 子数组,因此答案为 $1$。 翻译由 DeepSeek R1 完成