AT_caddi2018_c.Negative Doubling
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个正整数 A1, A2, ..., AN。高桥君可以对这些整数进行任意次数如下操作:
- 选择 1≤i≤N,将 Ai 的值变为 −2 倍。
请注意,这里是负 2 倍。
高桥君希望使得 A1≤A2≤...≤AN 成立。请你求出为此所需操作次数的最小值。如果无法做到,请输出 −1。
输入格式
输入以以下格式从标准输入读入:
N A1 A2 ... AN
输出格式
请输出答案。
输入输出样例
输入#1
4 3 1 4 1
输出#1
3
输入#2
5 1 2 3 4 5
输出#2
0
输入#3
8 657312726 129662684 181537270 324043958 468214806 916875077 825989291 319670097
输出#3
7
说明/提示
限制条件
- 1≤N≤200000
- 1≤Ai≤109
样例解释 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。
样例解释 2
即使不进行任何操作,也已经满足 A1≤A2≤...≤AN。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?