编程题
### 问题描述
麻衣是一位非常喜欢糖果的小女孩,她有一种特殊的习惯,就是喜欢把自己的糖果平均地分到每个糖果罐中。麻衣把一个糖果罐序列看作是稳定的,当且仅当每个糖果罐中的糖果数都相等。
现在,麻衣有一个糖果罐序列 $A_1,A_2,\ldots,A_N$。你可以对这个序列执行以下操作任意多次(也可能不执行):
1. 选择任何一个前缀 $A[1…k]$,使得 $\max(A[1…k])=A[k]$,然后设置 $A[i]:=A[k]$ 对于所有的 $i \in [1,k−1]$。例如,如果序列 $A=[3,1,4,5,9]$,那么选择 $k=3$ 会得到新的序列 $[4,4,4,5,9]$。
2. 选择任何一个子段 $A[L…R]$,并将该子段向左循环移动,其余元素保持不变。例如,如果序列 $A=[3,4,1,5,9]$,那么选择 $L=2$ 和 $R=4$ 会得到新的序列 $[3,1,5,4,9]$。
麻衣想知道,最少需要多少次操作才能使糖果罐序列稳定,你能帮她计算出来吗?
数据保证一定有解。
### 输入格式
第一行包含一个整数 $N$。
第二行包含 $N$ 个以空格分隔的整数 $A_1,A_2,\ldots,A_N$。
数据范围保证:$1 ≤ N ≤ 100$,$1 ≤ A_i ≤ 100$。
### 输出格式
打印出使糖果罐序列稳定所需的最少操作次数。
### 样例输入
```
2
69 96
```
### 样例输出
```
1
```
### 说明
对于测试用例:我们可以对前缀 $A[1…2]$ 应用第一种操作,这会将糖果罐序列 $A$ 转换为 $[96,96]$,这是稳定的。