#abc153d. [abc153_d]Caracal vs Monster
[abc153_d]Caracal vs Monster
问题描述
Caracal正在与一个怪物战斗。
怪物的生命值为。
Caracal可以选择一只怪物进行攻击。当攻击一只怪物时,根据该怪物的生命值,会发生以下情况:
- 如果怪物的生命值为,则它的生命值减少至。
- 如果怪物的生命值大于,那么该怪物消失。然后,出现两只新的怪物,每只怪物的生命值为。(其中,表示不超过的最大整数。)
当所有现有怪物的生命值变为或更低时,Caracal获胜。
找到Caracal在获胜之前需要发动的最小攻击次数。
约束条件
- 输入中的所有值都是整数。
输入
从标准输入读入数据,格式如下:
输出
找到Caracal在获胜之前需要发动的最小攻击次数。
示例输入 1
2
示例输出 1
3
当Caracal攻击初始的怪物时,它消失,然后出现两只生命值为的新怪物。
然后,Caracal可以分别攻击这两只新怪物一次,总共攻击三次就可以获胜。
示例输入 2
4
示例输出 2
7
示例输入 3
1000000000000
示例输出 3
1099511627775