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$。