3886: 装水
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:3
题目描述
water.in/water.out
一天小理买了 N 个容量可以认为是无限大的瓶子,开始时每个瓶子里有 1 升水。接着小理 发现瓶子实在太多了,于是他决定保留不超过 K 个瓶子,每次他选择两个当前含水量相同的 瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃(不能丢弃有水的瓶子)。 显然在某些情况下小理无法达到目标,比如 N=3,K=1。此时小理会重新购买一些新的瓶子 (新瓶子容量无限,开始时有 1 升水)以达到目标。 现在小理想知道最少需要多少新瓶子才能达到目标呢? 输入文件一行两个正整数 N 和 K,其中。 输出文件包含一个非负整数,表示最少需要购买的瓶子数量。
一天小理买了 N 个容量可以认为是无限大的瓶子,开始时每个瓶子里有 1 升水。接着小理 发现瓶子实在太多了,于是他决定保留不超过 K 个瓶子,每次他选择两个当前含水量相同的 瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃(不能丢弃有水的瓶子)。 显然在某些情况下小理无法达到目标,比如 N=3,K=1。此时小理会重新购买一些新的瓶子 (新瓶子容量无限,开始时有 1 升水)以达到目标。 现在小理想知道最少需要多少新瓶子才能达到目标呢? 输入文件一行两个正整数 N 和 K,其中。 输出文件包含一个非负整数,表示最少需要购买的瓶子数量。
【样例输入】
1000000 5
【样例输出】
15808
【数据规模与约定】
对于 50%的数据,1<=N<=107
对于 100%的数据,保证 1<=N<=109,0<=K<=1000。
【提示】
考虑 lowbit 运算
输入
输入一个字符串表示方程。
输出
输出 X 的解保留三位小数。
样例输入 复制
3 1
样例输出 复制
1