원소 합치기
시간 제한1초메모리 제한1024 MB
배열에서 인접한 두 원소를 OR로 합치는 연산을 정확히 K번 했을 때, 남은 N-K개 원소 AND의 최댓값을 구합니다.
문제
음이 아닌 정수 개로 이루어진 배열 이 주어진다. 배열 에 다음 연산을 번 진행한다.
- 배열에 남아 있는 원소 중에서 인접한 두 원소를 선택해, 해당 원소들에 대해 bitwise 연산을 적용하고 그 결괏값으로 두 원소를 대체한다. 다시 말해 현재 배열의 길이를 이라 하면, 정수 를 선택해 을 로 바꾼다. 이 연산을 한 번 진행하면 배열의 길이는 만큼 줄어든다.
번의 연산을 진행한 뒤 배열에 남은 개의 원소를 모두 bitwise 연산한 값의 최댓값을 구한다.
입력
첫 번째 줄에 과 가 공백으로 구분되어 주어진다. (; )
두 번째 줄에 배열 의 원소 이 공백으로 구분되어 주어진다. ()
출력
번의 연산을 진행한 뒤 배열에 남은 개의 원소를 모두 bitwise 연산한 값의 최댓값을 출력한다.
힌트
bitwise 연산자들은 비트 단위로 연산을 시행한다.
-
bitwise 연산()은 두 수의 각 비트마다 다음과 같은 연산을 진행한다.
- 같은 자릿수의 비트를 비교해 두 비트 모두 일 때만 이고, 나머지 경우는 이다.
- 예시는 다음과 같다.
-
bitwise 연산()은 두 수의 각 비트마다 다음과 같은 연산을 진행한다.
- 같은 자릿수의 비트를 비교해 두 비트 모두 일 때만 이고, 나머지 경우는 이다.
- 예시는 다음과 같다.