atcoder#CADDI2018C. Negative Doubling

Negative Doubling

Score : 800800 points

Problem Statement

There are NN positive integers A1,A2,...,ANA_1, A_2, ..., A_N. Takahashi can perform the following operation on these integers any number of times:

  • Choose 1iN1 \leq i \leq N and multiply the value of AiA_i by 2-2.

Notice that he multiplies it by minus two.

He would like to make A1A2...ANA_1 \leq A_2 \leq ... \leq A_N holds. Find the minimum number of operations required. If it is impossible, print -1.

Constraints

  • 1N2000001 \leq N \leq 200000
  • 1Ai1091 \leq A_i \leq 10^9

Input

Input is given from Standard Input in the following format:

NN

A1A_1 A2A_2 ...... ANA_N

Output

Print the answer.

4
3 1 4 1
3

One possible solution is:

  • Choose i=4i=4 and multiply the value of A4A_4 by 2-2. A1,A2,A3,A4A_1, A_2, A_3, A_4 are now 3,1,4,23, 1, 4, -2.
  • Choose i=1i=1 and multiply the value of A1A_1 by 2-2. A1,A2,A3,A4A_1, A_2, A_3, A_4 are now 6,1,4,2-6, 1, 4, -2.
  • Choose i=4i=4 and multiply the value of A4A_4 by 2-2. A1,A2,A3,A4A_1, A_2, A_3, A_4 are now 6,1,4,4-6, 1, 4, 4.
5
1 2 3 4 5
0

A1A2...ANA_1 \leq A_2 \leq ... \leq A_N holds before any operation is performed.

8
657312726 129662684 181537270 324043958 468214806 916875077 825989291 319670097
7