#7246. 1095C. C. Powers Of Two
0
1095C. C. Powers Of Two
1095C. C. Powers Of Two
CF1095C. Powers Of Two
时限: 4 秒 | 内存: 256 MB | 输入: 标准输入 | 输出: 标准输出
如果一个正整数 $x$ 可以表示为 $x = 2^y$,其中 $y$ 是非负整数,则称 $x$ 为 $2$ 的幂。因此,$2$ 的幂包括 $1, 2, 4, 8, 16, \dots$。
给定两个正整数 $n$ 和 $k$,你的任务是将 $n$ 表示为恰好 $k$ 个 $2$ 的幂的和。
输入格式
输入仅一行,包含两个整数 $n$ 和 $k$($1 \le n \le 10^9$,$1 \le k \le 2 \cdot 10^5$)。
输出格式
如果无法将 $n$ 表示为 $k$ 个 $2$ 的幂的和,输出 NO。
否则,输出 YES,并在下一行输出 $k$ 个正整数 $b_1, b_2, \dots, b_k$,其中每个 $b_i$ 都是 $2$ 的幂,且 $\sum\limits_{i=1}^{k} b_i = n$。如果有多组答案,可以输出任意一组。
样例输入 1
9 4
样例输出 1
YES 1 2 2 4
样例输入 2
8 1
样例输出 2
YES 8
样例输入 3
5 1
样例输出 3
NO
样例输入 4
3 7
样例输出 4
NO