아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

학생회 뽑기

시간 제한1초메모리 제한1024 MB

요약
N개의 수 중 정확히 K개를 골라 그 수들의 비트 AND 값을 최대로 만드는 문제다.
난이도

보통10점 중 6점

유형
그리디, 비트 연산
정답자
아직 제출이 없습니다

문제

선린여학원의 학생회장인 소금이는 학생회를 모집하려 한다. 최고의 학생회를 원하는 소금이는 학생들 중 KK명을 뽑아 학생회를 구성하려 한다. 그러나 아이돌 활동으로 바쁜 그녀는 학생회 멤버 선발을 당신한테 맡기고 말았다! 소금이를 위해 학생회 멤버를 뽑아보자.

선린여학원에는 NN명의 학생이 있다. 각 학생의 능력은 정수 A_i,(1≤i≤N)A\_{i} \\, (1 \leq i \leq N)로 표현된다.

학생회의 능력을 XX라 하자. 당신이 뽑은 학생회 멤버들 각각의 능력 값을 B_1B\_1, B_2B\_2, ⋯\cdots, B_KB\_K 라 하면, X = B\_{1} \\, \\& \\, B\_{2} \\, \\& \\, B\_{3} \\, \\& \cdots \\, \\& \\, B\_{K}로 정의된다.

\\&는 AND 비트 연산이다. 예) 5 \\, \\& \\, 3 = 0101\_{(2)} \\, \\& \\, 0011\_{(2)} = 0001\_{(2)} = 1

이때 학생회 능력 XX의 최댓값을 출력하라.

입력

첫째 줄에 NN과 KK가 공백으로 구분되어 주어진다.

둘째 줄에 NN개의 수 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N이 공백으로 구분되어 주어진다.

입력으로 주어지는 모든 수는 정수이다.

출력

첫째 줄에 학생회 능력 XX의 최댓값을 출력하라.

제한

  • 1≤N≤200,0001 \leq N \leq 200\\,000
  • 1≤K≤N1 \leq K \leq N
  • 0≤A_i<1,048,576,=2200 \leq A\_{i} < 1\\,048\\,576 \\, = 2 ^ {20} (1≤i≤N1 \leq i \leq N)

예제1

  1. 예제 1

    입력
    5 3
    96 31 27 29 15
    
    예상 출력
    25