CF1553H.XOR and Distance

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn distinct elements and an integer kk . Each element in the array is a non-negative integer not exceeding 2k12^k-1 .

Let's define the XOR distance for a number xx as the value of

$$f(x) = \min\limits_{i = 1}^{n} \min\limits_{j = i + 1}^{n} |(a_i \oplus x) - (a_j \oplus x)|, $$ </p><p>where $\\oplus$ denotes <a href="https://en.wikipedia.org/wiki/Bitwise_operation#XOR">the bitwise XOR operation</a>.</p><p>For every integer $x$ from $0$ to $2^k-1$ , you have to calculate $f(x)$$$.

输入格式

The first line contains two integers nn and kk ( 1k191 \le k \le 19 ; 2n2k2 \le n \le 2^k ).

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n ( 0ai2k10 \le a_i \le 2^k-1 ). All these integers are distinct.

输出格式

Print 2k2^k integers. The ii -th of them should be equal to f(i1)f(i-1) .

输入输出样例

  • 输入#1

    3 3
    6 0 3

    输出#1

    3 1 1 2 2 1 1 3
  • 输入#2

    3 4
    13 4 2

    输出#2

    2 2 6 6 3 1 2 2 2 2 1 3 6 6 2 2

说明/提示

Consider the first example:

  • for x=0x = 0 , if we apply bitwise XOR to the elements of the array with xx , we get the array [6,0,3][6, 0, 3] , and the minimum absolute difference of two elements is 33 ;
  • for x=1x = 1 , if we apply bitwise XOR to the elements of the array with xx , we get the array [7,1,2][7, 1, 2] , and the minimum absolute difference of two elements is 11 ;
  • for x=2x = 2 , if we apply bitwise XOR to the elements of the array with xx , we get the array [4,2,1][4, 2, 1] , and the minimum absolute difference of two elements is 11 ;
  • for x=3x = 3 , if we apply bitwise XOR to the elements of the array with xx , we get the array [5,3,0][5, 3, 0] , and the minimum absolute difference of two elements is 22 ;
  • for x=4x = 4 , if we apply bitwise XOR to the elements of the array with xx , we get the array [2,4,7][2, 4, 7] , and the minimum absolute difference of two elements is 22 ;
  • for x=5x = 5 , if we apply bitwise XOR to the elements of the array with xx , we get the array [3,5,6][3, 5, 6] , and the minimum absolute difference of two elements is 11 ;
  • for x=6x = 6 , if we apply bitwise XOR to the elements of the array with xx , we get the array [0,6,5][0, 6, 5] , and the minimum absolute difference of two elements is 11 ;
  • for x=7x = 7 , if we apply bitwise XOR to the elements of the array with xx , we get the array [1,7,4][1, 7, 4] , and the minimum absolute difference of two elements is 33 .
首页