1576. 教主的集合序列

时间限制 1000 ms   内存限制 128 MB

  定义集合$S_1$为$1$到$n$之间所有正整数组成的集合,即$S_1=\{1,2,3…n\}$。当$k>1$时,$S_k$为集合$S\_{k-1}$中任意两个不相同数之和的集合。   例如,当$n=3$时:   $S_1=\{1,2,3\}$   $S_2=\{3,4,5\}$   $S_3=\{7,8,9\}$   $S_4=\{15,16,17\}$   ……   现将每个集合中所有元素取出,集合$S_i$的数放在集合$S\_{i+1}$的数的前面,同一个集合数从小到大排序,这样得到一个序列$L$。例如,当$n=3$时,$L=1,2,3,3,4,5,7,8,9,15,16,17……$   那么,现对于给定的$n$和$k$,求$L$中第$k$个数。

输入数据

输入包含$1$行,为$2$个正整数$n$和$k$,两个整数用逗号隔开。

输出数据

输出包含$1$行,为一个正整数,即序列$L$中第$k$个数。若这个数不存在,则输出$-1$。

样例输入

复制
4 6 · \n

样例输出

复制
4 \n

样例说明

当$n=4$时,序列$L=1,2,3,4,3,4,5,6,7,7……$
所以序列中第$6$个数为$4$。

提交

请先 登录

© 2026 FAQs Contact About