형광 힌덴부르크
시간 제한1초메모리 제한512 MB
N개의 비트마스크 일정 중 K개를 골라 AND 값을 최대화하고, 그 값을 그룹 가용성 코드로 출력한다.
문제
Lothar는 친구들의 록 밴드 콘서트 투어를 준비하고 있다. 투어는 11월에 진행되며 매일 콘서트가 최대 한 번 열린다. 투어는 규모가 크고, 많은 음악가들이 참여하려고 한다. 투어에 참여하는 음악가의 수는 엄격히 정해져 있어 바꿀 수 없다. 투어의 각 콘서트에는 투어에 참여하는 모든 음악가가 참석해야 한다.
Lothar에게 다행인 점은 후보 음악가의 수가 투어에 참여하는 음악가의 정해진 수보다 적지 않다는 것이다. 불행한 점은 일반적인 음악가가 한 달 내내 시간이 비어 있지 않고, 음악가마다 일정이 크게 다르다는 것이다.
오래전에 Lothar는 컴퓨터 스케줄링 시스템의 핵심을 작성했고, 지금 그것을 이용해 투어를 준비하고 있다. 그는 정해진 크기의 음악가 그룹을 반복적이고 다소 무작위로 선택하고, 시스템이 가능한 투어 일정을 계산하도록 한다. 시스템은 매우 특정한 데이터 형식에 의존한다. 음악가의 일정과 투어 일정은 숫자 코드로 표현된다. 11월의 날짜는 그 달의 날짜 번호로 표시된다: 1, 2, . . . , 30.
주어진 음악가에 대해, 11월의 각 날짜에는 특정 숫자 코드가 부여된다. 레이블이 L인 날짜는 음악가가 그날 가능하면 정수 로 코딩된다. 그렇지 않으면 그 날짜는 0으로 코딩된다. 음악가 일정 코드는 그 또는 그녀의 모든 날짜 코드의 합이다.
주어진 음악가 그룹에 대해, 11월의 각 날짜에는 특정 숫자 코드가 부여된다. 레이블이 L인 날짜는 그룹의 모든 음악가가 그날 가능하면 정수 로 코딩된다. 그렇지 않으면 그 날짜는 0으로 코딩된다. 그룹 가용성 코드는 그룹의 모든 날짜 코드의 합이다.
여러 가지 미묘한 이유로, Lothar는 가장 좋은 투어는 투어에 참여하는 음악가 그룹의 가용성 코드가 가능한 한 가장 높은 값인 투어라고 생각한다.
입력
첫 번째 줄에는 두 정수 N, K (1 ≤ K ≤ N ≤ 2 · 10^5)가 주어진다. N은 사용 가능한 음악가의 수이고, K는 투어에 참여하는 음악가의 정해진 수이다. 다음 줄에는 N개의 양의 정수 시퀀스가 주어진다. 시퀀스의 각 정수는 한 음악가의 일정 코드를 나타낸다. 코드는 임의의 순서로 나열된다.
출력
K명의 음악가로 이루어진 어떤 그룹의 가용성 코드 중 가능한 가장 좋은 값을 출력한다.