CF1095C Powers Of Two
题目描述
如果一个正整数 $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$。如果有多组答案,可以输出任意一组。
说明/提示
由 ChatGPT 4.1 翻译