Problem 8C. 最少操作次数

Problem 8C. 最少操作次数

Problem 8C. 最少操作次数

题目描述

给你一个整数数组 \(a_1,a_2,…,a_n\),你需要用最少的操作次数使数组不递减。在一次操作中,您需要执行以下操作:

  • 选取一个下标 \(1 \le i \le n\),
  • 让 \(a_i = a_i * 2\).

如果一个数组 \(b_1, b_2, ..., b_n\)是非递减数组,那么对于每个下标 \(1 \le i < n\) 都满足 \(b_i \le b_{i+1}\)。

输入格式

第一行一个整数 \(n\) ,代表数组大小。

第二行 \(n\) 个整数 \(a_1, a_2, ..., a_n\),代表数组中的每个数。

输出格式

输出一个整数,表示使数组变成非递减数组的最少操作次数。

样例输入

3
3 2 1

样例输出

3

样例解释

操作三次:

选择下标 \(i=3\),数组变为\([3,2,2]\);

选择下标 \(i=3\),数组变为\([3,2,4]\);

选择下标 \(i=2\),数组变为\([3,4,4]\);

数据范围与约定

对于 \(60\%\) 的数据,\(1 \le n \le 20\), \(1 \le a_i \le 2^{10}\);

对于 \(100\%\) 的数据,\(1 \le n \le 10^5\), \(1 \le a_i \le 10^9\).

信息

ID
1558
难度
9
分类
(无)
标签
(无)
递交数
36
已通过
2
通过率
6%
上传者

相关

在下列比赛中:

2023秋 悬赏令第八周