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

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

아기 홍윤

면접 대비

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

요약
연속한 부분 배열의 비트 OR 값이 정확히 K가 되는 구간을 찾고, 없으면 -1을 출력한다.
난이도

보통10점 중 6점

유형
비트 연산, 투 포인터, 배열, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

홍윤이는 구간을 좋아한다. 홍윤이는 비트 연산자도 좋아한다. 그래서 구간과 비트 연산자를 합친 문제를 만들었다.

크기 NN의 배열 AA에서 연속한 구간을 잡아 내부의 값들을 전부 bitwise or 했을 때, 값이 정확히 KK가 되는 구간을 구하시오. 가능한 구간이 여러 개라면 그중 아무거나 선택해도 좋다.

입력

첫째 줄에 NN과 KK가 주어진다. (1≤N≤200,0001 \leq N \leq 200,000, 1≤K≤230−11 \leq K \leq 2^{30}-1)

둘째 줄에 길이 NN의 배열 AA가 주어진다. (1≤Ai≤230−11 \leq A_i \leq 2^{30}-1)

출력

왼쪽에서 ss번째부터 ee번째 수까지의 구간이 조건을 만족한다면, 한 줄에 ss와 ee를 공백으로 구분하여 출력한다. 그러한 구간이 존재하지 않으면 대신 -1을 출력한다.

예제2

  1. 예제 1

    입력
    5 7
    8 1 2 5 9
    
    예상 출력
    2 4
    
  2. 예제 2

    입력
    5 6
    2 7 4 1 4
    
    예상 출력
    -1