问题 1333. -- 忙碌的期末

1333: 忙碌的期末

时间限制:4000 ms 内存限制:128 MB
提交:90 解决:22
[ 提交][ 状态][ 讨论版]

题目描述

给出n个互不相同的整数,试找到一个这样的最大集合,这个集合中任意两个数差的绝对值为2的非负幂次,即对于集合S而言,满足|Si-Sj|=2^d(d>=0),不要求每一对(i,j)所对应的d都为相同值。

输入

多组数据。每组数据第一行一个整数n(1<=n<=2e5),接下来n行,每行一个整数xi(1<=i<=n,-1e9<=xi<=1e9)。

输出

每组数据输出两行,第一行,该最大集合的元素个数。第二行,从小到大输出集合中的每个元素。若有多个相同大小的集合,输出从小到大排序后字典序最小的一个,行末无多余空格。

样例输入

6 3 5 4 7 10 12

样例输出

3 3 4 5

提示

这里 3 4 5 和 3 5 7 都是大小为 3 的集合,但是 3 4 5 的字典序小于 3 5 7 。所以,输出 3 4 5

来源

[ 提交][ 状态][ 讨论版]
Baidu
map