AT_caddi2018_c Negative Doubling

题目描述

有 $N$ 个正整数 $A_1,\ A_2,\ ...,\ A_N$。高桥君可以对这些整数进行任意次数如下操作: - 选择 $1 \leq i \leq N$,将 $A_i$ 的值变为 $-2$ 倍。 请注意,这里是**负** $2$ 倍。 高桥君希望使得 $A_1 \leq A_2 \leq ... \leq A_N$ 成立。请你求出为此所需操作次数的最小值。如果无法做到,请输出 $-1$。

输入格式

输入以以下格式从标准输入读入: > $N$ $A_1$ $A_2$ $...$ $A_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $1 \leq N \leq 200000$ - $1 \leq A_i \leq 10^9$ ## 样例解释 1 例如,可以按如下方式操作: - 选择 $i=4$,将 $A_4$ 的值变为 $-2$ 倍。此时 $A_1,\ A_2,\ A_3,\ A_4$ 分别为 $3,\ 1,\ 4,\ -2$。 - 选择 $i=1$,将 $A_1$ 的值变为 $-2$ 倍。此时 $A_1,\ A_2,\ A_3,\ A_4$ 分别为 $-6,\ 1,\ 4,\ -2$。 - 选择 $i=4$,将 $A_4$ 的值变为 $-2$ 倍。此时 $A_1,\ A_2,\ A_3,\ A_4$ 分别为 $-6,\ 1,\ 4,\ 4$。 ## 样例解释 2 即使不进行任何操作,也已经满足 $A_1 \leq A_2 \leq ... \leq A_N$。 由 ChatGPT 4.1 翻译