페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5686

해밍 경로 2 2초 1024MB

문제

N개의 음이 아닌 2^M 미만의 정수들 A_1, A_2, \dots, A_N이 주어진다. 각각의 정수들에 대하여 다른 정수들과의 가능한 최대 해밍 경로를 찾아야한다.

해밍 경로는 음이 아닌 두 정수들에 대하여 이진수로 변환 시 같은 위치에 대해 다른 수들의 개수이다. (필요의 따라 앞에 붙는 0들도 포함된다)

수식으로 표현하자면 다음과 같다: \smash{\displaystyle\max_{i \le j \le N}} hamming(A_i, A_j)


입력

첫 번째 줄에 두 정수 NM이 입력된다 (1 \le N \le 2^M, 1 \le M \le 20).

두 번째 줄에 N개의 정수 A_i가 입력된다 (0 \le A_i \le 2^M).


출력

N개의 정수를 공백으로 나누어 출력하시오. 각 i번째 정수는 A_i의 다른 정수들 간의 최대 해밍 경로이다.


부분문제

번호 점수 조건
#120점

M \le 10

#225점

M \le 16

#355점

제한 없음


예제1

입력
4 4
9 12 9 11
출력
2 3 2 3

예제2

입력
4 4
5 7 3 9
출력
2 3 2 3

예제3

입력
4 4
3 4 6 10
출력
3 3 2 3

3, 4, 6, 10은 이진수로 0011, 0100, 0110, 1010으로 표현된다. 3과 4, 그리고 4와 10은 해밍 경로가 3이며, 6은 모든 다른 정수와 해밍 경로가 2이다.


출처

COCI 2022/2023 Contest #5 2번

역링크 공식 문제집만