减法和除法
题号:NC236624
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

鸡尾酒的学生丹丹分不清除法和减法,因为他觉得两种运算都是将一个数字变小,所以都差不多。

为了让丹丹能够更好地理解除法和减法,鸡尾酒给了他这样一个问题:

给定一个正整数 n,每次有两种操作:

1. 使得这个数字除以 2(由于丹丹没学过小数和分数,所以这里是除法是整除,向下取整)
2. 将这个数字减去一个给定值 x

问最少几次操作可以将这个数字变成一个小于等于零的数字。

由于丹丹从未接触过负数,所以根本不知道小于等于零的数字是什么,你可以帮帮他吗?

输入描述:

给定两个正整数 

输出描述:

输出一行一个整数表示答案。
示例1

输入

复制
30 5

输出

复制
4

说明

先进行一次操作 1,得到 15,再进行三次操作 2(即减去 5),此时得到 0。或者先进行两次操作 1,得到 7,再进行两次操作 2,得到 -2。这两种方案都是 4 次操作。