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

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

AND, OR, XOR

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

요약
음이 아닌 정수 N개와 K가 주어질 때, 비트 AND, OR, XOR 결과가 각각 K가 되는 순서쌍의 개수를 센다.
난이도

보통10점 중 5점

유형
비트 연산, 해시맵, 조합론
정답자
아직 제출이 없습니다

문제

음이 아닌 정수로 이루어진 길이 NN의 수열 A_1A\_1, A_2A\_2, ... ,A_NA\_N이 주어진다.

이때, 다음 세 조건에 맞는 순서쌍 (i,j)(i,j)의 개수를 각 경우에 대해 구하여라. (1≤i\<j≤N1\leq i\<j\leq N)

  • A_iA\_i & A_j=KA\_j = K (&는 Bitwise AND 연산자이다.)
  • A_iA\_i | A_j=KA\_j = K (|는 Bitwise OR 연산자이다.)
  • A_iA\_i ⊕ A_j=KA\_j = K (⊕는 Bitwise XOR 연산자이다.)

입력

첫째 줄에 수열의 길이 NN과 KK가 공백으로 구분되어 주어진다. (1≤N≤106,0≤K≤106)(1 \le N \le 10^6, 0 \le K \le 10^6)

둘째 줄에 수열의 원소 A_iA\_i가 공백으로 구분되어 주어진다. (0≤A_i≤106)(0 \le A\_i \le 10^6)

출력

각 경우에 대한 답을 AND, OR, XOR 순으로 공백으로 구분하여 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    4 2
    0 1 2 3
    
    예상 출력
    1 1 2