题目描述
N 個の正の整数 A1, A2, ..., AN があります. 高橋君は,これらの整数に対して,次の操作を好きな回数行うことができます:
- 1 ≤ i ≤ N を選び,Ai の値を −2 倍にする.
マイナス 2 倍であることに注意してください.
高橋君は,A1 ≤ A2 ≤ ... ≤ AN が成り立つようにしたいです. このために必要な操作の回数の最小値を求めてください.ただし,不可能な場合は -1
を出力してください.
输入格式
入力は以下の形式で標準入力から与えられる.
N A1 A2 ... AN
输出格式
答えを出力せよ.
题目大意
有 n 个正整数 a1,a2,…,an,现在高桥君想要对它们进行操作:
现在高桥君想要使 a 序列单调不降,求最小操作次数。
如果不可能,输出 −1。
4
3 1 4 1
3
5
1 2 3 4 5
0
8
657312726 129662684 181537270 324043958 468214806 916875077 825989291 319670097
7
提示
制約
- 1 ≤ N ≤ 200000
- 1 ≤ Ai ≤ 109
Sample Explanation 1
例えば,次のようにすればよいです. - i=4 を選び,A4 の値を −2 倍にする.A1, A2, A3, A4 はそれぞれ 3, 1, 4, −2 になる. - i=1 を選び,A1 の値を −2 倍にする.A1, A2, A3, A4 はそれぞれ −6, 1, 4, −2 になる. - i=4 を選び,A4 の値を −2 倍にする.A1, A2, A3, A4 はそれぞれ −6, 1, 4, 4 になる.
Sample Explanation 2
操作を一切せずとも A1 ≤ A2 ≤ ... ≤ AN が成り立っています.