The questions are as follows:
B. The Child and Settime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output
At the children's day, the child came to Picks's house, and messed his house up. picks was angry at him. A lot of important things were lost, in the particle the favorite set of Picks.
Fortunately, Picks remembers something about his setS:
Its elements were distinct integers from 1
Limit; The value of was equal
Sum; Here
Lowbit(
X) Ipvs2
KWhereKIs the position of the first one in the binary representationX. For example,Lowbit(100102 )? =? 102 ,?Lowbit(100012 )? =? 12 ,?Lowbit(100002 )? =? 100002 (binary representation ).Can you help Picks and find any setS, That satisfies all the above conditions?
InputThe first line contains two integers:Sum,?Limit(1? ≤?Sum,?Limit? ≤? 105 ).
OutputIn the first line print an integerN(1? ≤?N? ≤? 105), denoting the sizeS. Then print the elements of setSIn any order. If there are multiple answers, print any of them.
If it's impossible to find a suitable set, print-1.
Sample test (s) Input5 5
Output24 5
Input4 3
Output32 3 1
Input5 1
Output-1
This problem is used to find the low position of the binary system (truncation from the first position of 1). It is actually a bitwise operation. I am not familiar with bitwise operations... Therefore, the bitwise operation is deprecated, And I &-I is used to calculate the binary low position, and I & 1 is used to shift left I <1, right I> 1, and then enumerated from limit, if the value is smaller than sum, add it to the answer.
Your code is too ugly. paste the beautiful code of others: