#P1048. 猜数能力判断

猜数能力判断

题目描述

某个猜数游戏的规则是:数字范围为 1N1\sim N,玩家每次猜一个数,裁判告诉"大了"或"小了"或"猜对了"。玩家使用二分算法来猜数。

现在给你 NNKK,请你判断:使用二分算法,是否能在 KK 次以内(含 KK 次)保证找到范围内的任意数字?

也就是说,如果范围内所有数字中,最难找的那个数字需要 TT 次猜对,你需要判断 TKT \le K 是否成立。

输入格式

一行两个整数 NNKK1N1091 \le N \le 10^91K601 \le K \le 60

输出格式

若能保证在 KK 次以内找到,输出 YES;否则输出 NO

样例

100 7
YES
100 5
NO
1000000000 30
YES

说明/提示

对于全部测试数据,1N1091 \le N \le 10^91K601 \le K \le 60

提示:1N1\sim N 范围内最多需要 log2N\lceil \log_2 N \rceil 次即可找到任意数字。也可以模拟:对最大的范围跑一遍二分即可知道最坏需要几次。