해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Since Grisha는 작년에 착하게 행동했고, New Year's Eve에 Ded Moroz가 엄청나게 큰 선물 자루를 들고 찾아왔다! 자루에는 유서 깊은 빵집에서 만든 달콤한 사탕 n개가 들어 있으며, 각 사탕에는 맛의 정도에 따라 1부터 n까지의 번호가 붙어 있다. 어떤 두 사탕도 맛의 정도가 같지 않다.
사탕을 어떻게 고르는지는 Grisha의 행복에 직접적인 영향을 미친다. 가장 맛있는 것들을 골라야 한다고 생각할 수도 있지만, 그렇지 않다. 명절의 마법은 모든 것을 뒤집어 놓는다. 중요한 것은 맛의 정도를 일반적으로 합한 값이 아니라 xor-합이다!
정수 수열 a1, a2, ..., am의 xor-합은 모든 원소의 비트 단위 XOR인
로 정의된다. 여기서
는 비트 단위 XOR 연산을 나타낸다. 비트 단위 XOR에 관한 자세한 내용은 여기.
Ded Moroz는 방문해야 할 집이 더 남아 있다고 Grisha에게 일러두었으므로, Grisha는 자루에서 최대 k개의 사탕만 가져갈 수 있다. Help Grisha 그가 얻을 수 있는 가장 큰 xor-합을 구하여라(가장 큰 xor-합은 최대의 행복을 뜻한다!).
유일한 문자열에 두 정수 n와 k가 (1 ≤ k ≤ n ≤ 1018) 주어진다.
가능한 가장 큰 xor-합을 나타내는 하나의 수를 출력한다.
6 6
74 3
7첫 번째 예제에서 최적의 답 중 하나는 1, 2, 4를 고르는 것이며, 이때 xor-합은 7이다.
두 번째 예제에서는 예를 들어 사탕 여섯 개를 모두 골라 xor-합 7을 얻을 수 있다.