#caddi2018c. [caddi2018_c]Negative Doubling

[caddi2018_c]Negative Doubling

問題文

NN 個の正の整数 A1,A2,...,ANA_1, A_2, ..., A_N があります. 高橋君は,これらの整数に対して,次の操作を好きな回数行うことができます:

  • 1leqileqN1 \\leq i \\leq N を選び,AiA_i の値を \-2\-2 倍にする.

マイナス 22 倍であることに注意してください.

高橋君は,A1leqA2leq...leqANA_1 \\leq A_2 \\leq ... \\leq A_N が成り立つようにしたいです. このために必要な操作の回数の最小値を求めてください.ただし,不可能な場合は -1 を出力してください.

制約

  • 1leqNleq2000001 \\leq N \\leq 200000
  • 1leqAileq1091 \\leq A_i \\leq 10^9

入力

入力は以下の形式で標準入力から与えられる.

NN A1A_1 A2A_2 ...... ANA_N

出力

答えを出力せよ.


入力例 1

4
3 1 4 1

出力例 1

3

例えば,次のようにすればよいです.

  • i=4i=4 を選び,A4A_4 の値を \-2\-2 倍にする.A1,A2,A3,A4A_1, A_2, A_3, A_4 はそれぞれ 3,1,4,23, 1, 4, -2 になる.
  • i=1i=1 を選び,A1A_1 の値を \-2\-2 倍にする.A1,A2,A3,A4A_1, A_2, A_3, A_4 はそれぞれ \-6,1,4,2\-6, 1, 4, -2 になる.
  • i=4i=4 を選び,A4A_4 の値を \-2\-2 倍にする.A1,A2,A3,A4A_1, A_2, A_3, A_4 はそれぞれ \-6,1,4,4\-6, 1, 4, 4 になる.

入力例 2

5
1 2 3 4 5

出力例 2

0

操作を一切せずとも A1leqA2leq...leqANA_1 \\leq A_2 \\leq ... \\leq A_N が成り立っています.


入力例 3

8
657312726 129662684 181537270 324043958 468214806 916875077 825989291 319670097

出力例 3

7