序列划分
最近,小风沉醉于研究数。由于他对 0 情有独钟,因此认为所有非零数都是不和谐的。
于是,他开始研究二进制数,因为二进制数中只有 0 和 1。但即便如此,1 还是令他很不爽。
小风想把所有 k 位二进制数 0,1,…,2k−1 划分成 m 组,每组都由数值连续的若干个数构成。设 Si(1≤i≤m)表示第 i 组中所有二进制数所含的 1 的总数。
请你求出所有合法划分方案中,max{Si} 的最小值。
输入格式
输入仅一行,包含两个整数 k 和 m,用一个空格分隔。
输出格式
输出仅一行,包含一个整数,表示 max{Si} 的最小值。
样例输入
3 4
样例输出
4
样例解释
最优方案是将这些数划分为如下 4 组:
- 000,001,010,011;
- 100,101;
- 110;
- 111。
此时:
S1=4,S2=3,S3=2,S4=3,
因此 max{Si}=4。
数据范围
- 对于 20% 的数据,k≤20;
- 对于 100% 的数据,1≤k≤100,1≤m≤100,且 m≤2k。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
3 4
输出
4