#L3909. 「PA 2022」Muzyka pop 2
「PA 2022」Muzyka pop 2
题目描述
题目译自 PA 2022 Runda 2 Muzyka pop 2
Matthew 想让歌曲的结尾包含一些非空的音符,这些音符用其响度表示,响度是一个正整数。结尾的音符响度必须形成一个严格递减的序列。
响度为 的音符的节拍值为 的二进制形式中 的个数。Matthew 想让这个结尾所有音符的节拍值之和恰好为 。
请找到字典序最小的音符响度序列。可以证明总存在至少一个满足条件的序列。
注:如果对于两个数字序列 和 ,在两序列第一个不同的位置, 序列中这个位置包含的整数比 序列的小,我们称数字序列 的字典序比 的字典序小。如果不存在这个位置,则称更短的那个数字序列字典序更小。
输入格式
输入一行一个整数 (),表示要求的序列中音符的节拍值之和。
输出格式
输出第一行包含一个整数 ,表示找到的这个序列的长度。
第二行包含 个正整数,表示找到的这个序列。这个序列应该是字典序最小且严格递减的,并且这些正整数的二进制表示中 的个数和应恰好是 。
3
2
3 1
10
6
7 5 4 3 2 1
数据规模与约定
对于所有数据,保证 。