A14653. Korney Korneevich and XOR (easy version)
编程题
普及/提高-
知识点
题目描述
This is an easier version of the problem with smaller constraints.
Korney Korneevich dag up an array $a$ of length $n$ . Korney Korneevich has recently read about the operation [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR), so he wished to experiment with it. For this purpose, he decided to find all integers $x \ge 0$ such that there exists an increasing subsequence of the array $a$ , in which the bitwise XOR of numbers is equal to $x$ .
It didn't take a long time for Korney Korneevich to find all such $x$ , and he wants to check his result. That's why he asked you to solve this problem!
A sequence $s$ is a subsequence of a sequence $b$ if $s$ can be obtained from $b$ by deletion of several (possibly, zero or all) elements.
A sequence $s_1, s_2, \ldots , s_m$ is called increasing if $s_1 < s_2 < \ldots < s_m$ .
Korney Korneevich dag up an array $a$ of length $n$ . Korney Korneevich has recently read about the operation [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR), so he wished to experiment with it. For this purpose, he decided to find all integers $x \ge 0$ such that there exists an increasing subsequence of the array $a$ , in which the bitwise XOR of numbers is equal to $x$ .
It didn't take a long time for Korney Korneevich to find all such $x$ , and he wants to check his result. That's why he asked you to solve this problem!
A sequence $s$ is a subsequence of a sequence $b$ if $s$ can be obtained from $b$ by deletion of several (possibly, zero or all) elements.
A sequence $s_1, s_2, \ldots , s_m$ is called increasing if $s_1 < s_2 < \ldots < s_m$ .
输入格式
The first line contains a single integer $n$ ( $1 \le n \le 10^5$ ).
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $0 \le a_i \le 500$ ) — the elements of the array $a$ .
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $0 \le a_i \le 500$ ) — the elements of the array $a$ .
输出格式
In the first line print a single integer $k$ — the number of found $x$ values.
In the second line print $k$ integers in increasing order $x_1, x_2, \ldots x_k$ ( $0 \le x_1 < \ldots < x_k$ ) — found $x$ values.
In the second line print $k$ integers in increasing order $x_1, x_2, \ldots x_k$ ( $0 \le x_1 < \ldots < x_k$ ) — found $x$ values.
输入输出样例
输入 #1
4 4 2 2 4
输出 #1
4 0 2 4 6
输入 #2
8 1 0 1 7 12 5 3 2
输出 #2
12 0 1 2 3 4 5 6 7 10 11 12 13
说明/提示
In the first test case:
- To get value $x = 0$ it is possible to choose and empty subsequence
- To get value $x = 2$ it is possible to choose a subsequence $[2]$
- To get value $x = 4$ it is possible to choose a subsequence $[4]$
- To get value $x = 6$ it is possible to choose a subsequence $[2, 4]$
- To get value $x = 0$ it is possible to choose and empty subsequence
- To get value $x = 2$ it is possible to choose a subsequence $[2]$
- To get value $x = 4$ it is possible to choose a subsequence $[4]$
- To get value $x = 6$ it is possible to choose a subsequence $[2, 4]$