#T2280. K 个最小子集异或(K Subset Xors)

K 个最小子集异或(K Subset Xors)

链接: https://cses.fi/problemset/task/3192

板块: Bitwise Operations

时限: 1.00 s | 内存: 512 MB

题目描述

给定一个包含 nn 个整数的数组。考虑该数组所有 2n2^n 个子集(包括异或等于零的空子集)的异或值。

你的任务是找出 kk 个最小的子集异或值。

输入

第一行包含两个整数 nnkk:数组的大小以及子集异或值的个数 kk

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2,\dots, x_n:数组的内容。

输出

输出 kk 个整数:按升序排列的 kk 个最小子集异或值。

数据范围

1n21051 \le n \le 2 \cdot 10^5 1kmin(2n,2105)1 \le k \le \min(2^n, 2 \cdot 10^5) 0xi1090 \le x_i \le 10^9

样例输入

4 9
3 5 14 8

样例输出

0 0 3 3 5 5 6 6 8