猿宝最近在玩一个猜数字游戏,给定一个数字n,表示答案在1到n之间,每次可以猜一个数字,猜中游戏胜利,但如果猜错了,将要花费所猜数字的金币,并得知是猜大了还是猜小了,但是有k次机会可以免除此花费。猿宝想知道,至少需要准备多少金币能确保获得游戏胜利。
输入描述:
输入两个以空格分割的正整数n k。(n


输出描述:
输出一个正整数表示小明需要准备的金币个数。
示例1

输入

3 0

输出

2

说明

先猜数字2,如果答案是2,获得胜利,如果返回猜小了,下次猜1 必定胜利。如果猜大了,下次猜3必定胜利。 
示例2

输入

3 1

输出

0

说明

先猜数字2,并且使用1次不花费金币的特权,这个时候如果答案是2,获得胜利,如果返回猜小了,只剩下1没猜,下次必定胜利。如果猜大了,只剩下3没猜,下次必定胜利。 

备注:
使用python运行超时的考生可以尝试切换使用pypy
加载中...