만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

MEX vs OR

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

요약
l, r, x가 주어질 때 l부터 r까지 각 정수 i에 대해 i와 x의 비트 OR 값을 구한 뒤, 그 값들의 mex를 구합니다.
난이도

쉬움10점 중 2점

유형
완전 탐색, 비트 연산
정답자
아직 제출이 없습니다

문제

음이 아닌 정수로 이루어진 수열 aa가 주어질 때, 함수 mex(a)\text{mex}(a)는 aa에 포함되지 않은 가장 작은 음이 아닌 정수를 뜻합니다.

수열에 mex를 적용한 예시는 다음과 같습니다.

  • mex([1,2,3,4,5])=0\text{mex}([1,2,3,4,5])=0
  • mex([0,1,2,3,4])=5\text{mex}([0,1,2,3,4])=5
  • mex([0,1,2,4,5])=3\text{mex}([0,1,2,4,5])=3

음이 아닌 정수 xx와 yy의 비트 OR인 x ∣ yx\,|\,y는 다음 규칙으로 정의합니다.

  • xx와 yy 중 적어도 하나의 ii번째 자리가 11이면 x ∣ yx\,|\,y의 ii번째 자리는 11입니다.
  • xx와 yy 둘 모두 ii번째 자리가 00이면 x ∣ yx\,|\,y의 ii번째 자리는 00입니다.

두 정수의 비트 OR을 구한 예시는 다음과 같습니다.

  • 2 ∣ 4=0102 ∣ 1002=1102=62\,|\,4=010_2\,|\,100_2=110_2=6
  • 3 ∣ 6=0112 ∣ 1102=1112=73\,|\,6=011_2\,|\,110_2=111_2=7
  • 5 ∣ 4=1012 ∣ 1002=1012=55\,|\,4=101_2\,|\,100_2=101_2=5

l≤rl \le r을 만족하는 음이 아닌 세 정수 ll, rr, xx가 주어집니다. 다음 수식의 값을 구하세요.

mex([(l ∣ x),((l+1) ∣ x),⋯ ,((r−1) ∣ x),(r ∣ x)])\text{mex}([(l\,|\,x),((l+1)\,|\,x),\cdots,((r-1)\,|\,x),(r\,|\,x)])

입력

한 줄에 세 정수 ll, rr, xx가 공백으로 구분되어 주어집니다. (0≤l≤r≤1 0000 \le l \le r \le 1\,000, 0≤x≤1 0000 \le x \le 1\,000)

출력

정답을 한 줄에 출력합니다.

힌트

대부분의 언어에서 음이 아닌 두 정수 xx와 yy의 비트 OR x ∣ yx\,|\,y는 연산자 |를 사용해 (x|y)와 같이 구할 수 있습니다.

예제3

  1. 예제 1

    입력
    0 4 0
    
    예상 출력
    5
    
  2. 예제 2

    입력
    0 4 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1 4 0
    
    예상 출력
    0