题目描述
题目描述
题解
题解
提交记录
提交记录
中等

Bob 被困在了一个地窖里,他需要破解 n 个锁才能逃出地窖,每一个锁都需要一定的 能量 才能打开。每一个锁需要的能量存放在一个数组 strength 里,其中 strength[i] 表示打开第 i 个锁需要的能量。

Bob 有一把剑,它具备以下的特征:

  • 一开始剑的能量为 0 。
  • 剑的能量增加因子 x 一开始的值为 1 。
  • 每分钟,剑的能量都会增加当前的 x 值。
  • 打开第 i 把锁,剑的能量需要到达 至少 strength[i] 。
  • 打开一把锁以后,剑的能量会变回 0 ,x 的值会增加一个给定的值 k 。

你的任务是打开所有 n 把锁并逃出地窖,请你求出需要的 最少 分钟数。

请你返回 Bob 打开所有 n 把锁需要的 最少 时间。

 

示例 1:

输入:strength = [3,4,1], k = 1

输出:4

解释:

时间能量x操作更新后的 x
001什么也不做1
111打开第 3 把锁2
222什么也不做2
342打开第 2 把锁3
433打开第 1 把锁3

无法用少于 4 分钟打开所有的锁,所以答案为 4 。

示例 2:

输入:strength = [2,5,4], k = 2

输出:5

解释:

时间能量x操作更新后的 x
001什么也不做1
111什么也不做1
221打开第 1 把锁3
333什么也不做3
463打开第 2 把锁5
555打开第 3 把锁7

无法用少于 5 分钟打开所有的锁,所以答案为 5 。

 

提示:

  • n == strength.length
  • 1 <= n <= 8
  • 1 <= k <= 10
  • 1 <= strength[i] <= 106
 
代码
代码
测试用例
测试用例
测试结果
测试结果