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 $ - 入力される値はすべて整数である