AT_jsc2022_final_b Increment and Rotate

题目描述

给定一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \cdots, A_N)$。 你可以按任意顺序、任意次数(可以为 $0$ 次)重复以下两种操作: - 操作 $1$:将 $A$ 的第一个元素加 $1$。即,执行 $A_1 := A_1 + 1$。 - 操作 $2$:将 $A$ 的第一个元素移动到末尾。即,执行 $A := (A_2, A_3, \cdots, A_N, A_1)$。 你的目标是使 $A$ 成为广义单调递增序列(即 $A_1 \leq A_2 \leq \cdots \leq A_N$)。请你求出为达成目标所需操作次数的最小值。

输入格式

输入以下内容,通过标准输入读取: > $N\ A_1\ A_2\ \cdots\ A_N$

输出格式

输出答案。

说明/提示

### 样例解释 1 可以如下进行操作: - 执行操作 $1$。此时 $A = (3,4,1,3)$。 - 执行操作 $2$。此时 $A = (4,1,3,3)$。 - 执行操作 $2$。此时 $A = (1,3,3,4)$。 ### 数据范围 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq A_i \leq 10^9$ - 输入的所有值均为整数。 由 ChatGPT 5 翻译