问题2138--美感序列(sequence)

2138: 美感序列(sequence)

时间限制: 1 Sec  内存限制: 128 MB
提交: 15  解决: 10
[提交] [状态] [讨论版] [命题人:]

题目描述

pdd得到了一系列正整数a1, a2, ... , an。pdd想要从中取出几个数字,构造一个序列 b1, b2, b3, … , bk ,使这个序列的美感是最大的。美感定义如下:

若 b1 and b2 and ... and bk 可以被数2^v整除,则最大的非负整数v就是这个序列的美感值。告诉pdd他应该写出哪些数字,以便该序列的美感最大,且需要尽可能多地写出数字。

例如n=5, 这个序列为{1, 2, 3, 4, 5},pdd可以选择{4, 5},因为 4 and 5 =4 = 2^2, 即v=2,为最大的美感值,同时包含元素数量最多,为2。

这里的表达式“x and y”表示对数字x和y进行按位与操作。在C++和Java中,此操作由“&”表示,在Pascal中,由“and”表示。

输入

第一行输入整数n

第二行输入n个空格分隔的整数a1, a2, ... , an

输出

第一行输出一个整数v(v≥0),表示写出该序列的美感值。

第二行输出一个整数k(k > 0),表示要写出序列的元素数量。

样例输入 Copy

3
1 2 4

样例输出 Copy

2
1

提示

样例解释:选择{4},美感值为2,共1个元素

1<=n<=10^5, 1<=ai<=10^9