CF1348D Phoenix and Science
转换题意得:给定一个整数
题意翻译完了就是一个简单贪心,照最大的选就行,在
代码
int T, n;
std::vector<int> v;
signed main() {
T = read();
while(T --) {
n = read() - 1, v.clear();
int x = 1;
v.p_b(x);
while(n) n >= 2 * x ? (void)(v.p_b(2 * x), n -= 2 * x, x = 2 * x) : (void)(v.p_b(n), n = 0);
std::sort(all(v));
printl(v.size() - 1);
rep(i, 1, v.size() - 1) printk(v[i] - v[i - 1]); puts("");
}
return 0;
}