CF960C.Subsequence Counting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Pikachu had an array with him. He wrote down all the non-empty subsequences of the array on paper. Note that an array of size n has 2n−1 non-empty subsequences in it.
Pikachu being mischievous as he always is, removed all the subsequences in which Maximum_element_of_the_subsequence − Minimum_element_of_subsequence >=d
Pikachu was finally left with X subsequences.
However, he lost the initial array he had, and now is in serious trouble. He still remembers the numbers X and d . He now wants you to construct any such array which will satisfy the above conditions. All the numbers in the final array should be positive integers less than 1018 .
Note the number of elements in the output array should not be more than 104 . If no answer is possible, print −1 .
输入格式
The only line of input consists of two space separated integers X and d ( 1<=X,d<=109 ).
输出格式
Output should consist of two lines.
First line should contain a single integer n ( 1<=n<=10000 )— the number of integers in the final array.
Second line should consist of n space separated integers — a1,a2,... ,an ( 1<=ai<1018 ).
If there is no answer, print a single integer -1. If there are multiple answers, print any of them.
输入输出样例
输入#1
10 5
输出#1
6 5 50 7 15 6 100
输入#2
4 2
输出#2
4 10 100 1000 10000
说明/提示
In the output of the first example case, the remaining subsequences after removing those with Maximum_element_of_the_subsequence − Minimum_element_of_subsequence >=5 are [5],[5,7],[5,6],[5,7,6],[50],[7],[7,6],[15],[6],[100] . There are 10 of them. Hence, the array [5,50,7,15,6,100] is valid.
Similarly, in the output of the second example case, the remaining sub-sequences after removing those with Maximum_element_of_the_subsequence − Minimum_element_of_subsequence >=2 are [10],[100],[1000],[10000] . There are 4 of them. Hence, the array [10,100,1000,10000] is valid.