100 atcoder#ABC153D. [ABC153D] Caracal vs Monster
[ABC153D] Caracal vs Monster
题目描述
カラカルはモンスターと戦っています。
モンスターの体力は です。
カラカルはモンスターを 体選んで攻撃することができます。モンスターを攻撃したとき、攻撃対象のモンスターの体力に応じて、次のどちらかが起こります。
- モンスターの体力が なら、そのモンスターの体力は になる
- モンスターの体力が なら、そのモンスターは消滅し、体力が のモンスターが新たに 体現れる
( は を超えない最大の整数を表す)
全てのモンスターの体力を 以下にすればカラカルの勝ちです。
カラカルがモンスターに勝つまでに行う攻撃の回数の最小値を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
カラカルがモンスターに勝つまでに行う攻撃の回数の最小値を出力せよ。
题目大意
Caracal 在打怪。
一开始,他的面前有一只怪,这个怪有 点血量。
每一次,他可以选择一个怪物进行攻击,具体方式如下:
- 如果这只怪兽的血量为 ,变为 ;
- 如果这只怪兽的血量 ,那么这只怪兽将分裂成两只,每只的血量为 。
(其中 表示 的整数中,最大的一个)
当所有存在的怪物血量全部 时,Caracal 就获胜了。
输出他在获胜之前的攻击次数。
2
3
4
7
1000000000000
1099511627775
提示
制約
- 入力中のすべての値は整数である。
Sample Explanation 1
モンスターを攻撃すると、元のモンスターは消滅し、体力 のモンスターが 体現れます。 この 体のモンスターをそれぞれ 回ずつ攻撃し、合計 回の攻撃で勝つことができます。