AT_jsc2022_final_b Increment and Rotate
Description
長さ $ N $ の整数列 $ A=(A_1,A_2,\cdots,A_N) $ が与えられます.
あなたは以下の $ 2 $ 種類の操作を好きな順序で好きな回数 ( $ 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 $ ) にすることです. 目標達成のために必要な操作回数の最小値を求めてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
Output Format
答えを出力せよ.
Explanation/Hint
### Sample Explanation 1
以下のように操作すればよいです.
- 操作 $ 1 $ を行う. $ A=(3,4,1,3) $ になる.
- 操作 $ 2 $ を行う. $ A=(4,1,3,3) $ になる.
- 操作 $ 2 $ を行う. $ A=(1,3,3,4) $ になる.
### Constraints
- $ 2 \leq N \leq 2 \times 10^5 $
- $ 1 \leq A_i \leq 10^9 $
- 入力される値はすべて整数である