2020新生赛报名网站,请先注册登录xdoj以后再通过下方网站报名 http://acm.xidian.edu.cn/signuppage.php

问题 1333. -- 忙碌的期末

1333: 忙碌的期末

时间限制: 4 Sec  内存限制: 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

来源

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