CF2001A Make All Equal

题目描述

给你一个循环数组 $a_1,a_2,\cdots,a_n$。 你可以对 $a$ 数组进行最多 $n-1$ 次操作: + 设 $m$ 为 $a$ 数组现在的大小,你可以选择任意的两个相邻元素,使得前一个元素的值不大于后一个元素的值(特别的是 $a_m$ 和 $a_1$ 是相邻的,且 $a_m$ 是前一个元素),并将其中的任意一个删除。换句话说,选择一个整数 $i$($1 \le i \le m$)使得 $a_i \le a_{(i \bmod m)+1}$ 成立,并将 $a_i$ 或 $a_{(i \bmod m)+1}$ 中的一个从 $a$ 数组中删除。 你的目标是找到使所有元素相等所需的最小操作数。

输入格式

每一个测试点包含多组数据。第一行为数据组数 $t$($1 \le t \le 500$)。下面是数据描述。 每一组数据的第一行为一个整数 $n$($1 \le n \le 100$),表示 $a$ 数组的大小。 数据的第二行为 $n$ 个整数 $a_1,a_2,\cdots,a_n$($1 \le a_i \le n$),表示 $a$ 数组的元素的值。

输出格式

对于每组数据,每行输出一个整数,表示使所有元素相等所需的最小操作数。

说明/提示

在第一组数据中,$a$ 数组只有一个元素,所以我们不能进行任何操作。 在第二组数据中,我们可以执行以下操作,使得 $a$ 数组中的所有元素相等: + 选择 $i=2$,删除 $a_3$,则 $a$ 数组将变为 $[1,2]$。 + 选择 $i=1$,删除 $a_1$,则 $a$ 数组将变为 $[2]$。 可以证明,我们不能进行少于 $2$ 次的操作使得 $a$ 数组中的所有元素相等,所以答案是 $2$。