Problem B: 猫捉老鼠的最少时间
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:126
Solved:13
Description
有一款"猫捉老鼠"的游戏,给定一个有 n个整数的数组 mouse,其中 mouse[i] 是第 i 个老鼠的力量。游戏规则如下:
- 猫从 0 点能量值开始,每分钟可获取 cat 能量值,最初 cat 等于 1。
- 每天,在获得 cat 能量值后,如果能量值大于或等于老鼠的力量时,猫就可以捉住老鼠。
- 当捉住老鼠时,猫的能量值会被重置为 0,并且 cat 的能量值增加一个更新奖励值 k。(每捉住一只老鼠都会累加一个奖励 k值)
请你计算出捉住所有老鼠所需要的最少时间。如下样例说明:
样例输入:
n=3 ,k=2
mouse[] = { 4,5,2 }
样例输出:
5
解释:猫依照以下步骤操作,捉住所有老鼠可以用最少时间:
1分钟: 从零开始cat获1能量 .能量不足,不能去捉老鼠。
2分钟: cat又增加1能量.用这2能量捉住第3只老鼠。并获2奖励值。
3分钟: cat清零重置又获1能量,再加上奖励值2,共有3能量值。不够去捉力量4的老鼠。
4分钟: cat能量加1,再加上奖励值共4能量,捉住第1只老鼠。获2奖励值,此时奖励值为 2+2=4。
5分钟: cat能量加1,再加上奖励值共 5能量,捉住最后一只老鼠。
共化费最少时间为 5分钟。
Input
输入第一行两个正整数 n 与 k 。
瑜入第二行有 n 个正整数的数组 mouse。其中 mouse[i] 是第 i 个老鼠的力量。数字空格分隔。
Output
输出一个正整数,为捉住所有老鼠所需要的最少时间。
Sample Input Copy
4 3
2 1 8 5
Sample Output Copy
4
HINT
1<= n,k =<12; 1<=mouse[i]<=100000。