만드는 중입니다

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

곱하기와 쿼리

면접 대비

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

요약
수열에서 곱이 x가 되는 서로 다른 두 원소가 있는지 묻는 질의에 답하고, 원소를 0으로 바꾸는 갱신을 처리합니다.
난이도

보통10점 중 4점

유형
해시맵, 수학
정답자
아직 제출이 없습니다

문제

길이가 NN인 수열 A1,A2,A3,⋯ ,ANA_1, A_2, A_3, \cdots, A_N이 주어진다.

다음 질의를 수행하는 프로그램을 작성하시오.

  • 1 xx: 수열에서 서로 다른 두 수 ii, jj를 골라 AiA_i, AjA_j를 곱하여 xx를 만들 수 있으면 11, 없으면 00을 출력한다. (i≠ji \neq j; 0≤x≤100 000 0000 \le x \le 100\,000\,000)
  • 2 ii: AiA_i를 00으로 바꾼다. (1≤i≤N1 \le i \le N)

입력

첫째 줄에 수열의 크기 NN과 질의의 개수 QQ가 공백으로 구분되어 주어진다. (1≤N≤100 0001 \le N \le 100\,000; 1≤Q≤5 0001 \le Q \le 5\,000)

둘째 줄에 길이가 NN인 수열 A1,A2,A3,⋯ ,ANA_1, A_2, A_3, \cdots, A_N이 공백으로 구분되어 주어진다. (1≤Ai≤10 0001 \le A_i \le 10\,000)

셋째 줄부터 QQ개의 줄에 걸쳐 질의가 주어진다.

입력으로 주어지는 모든 수는 정수이다.

출력

1번 질의에 대한 정답을 한 줄에 하나씩 출력한다.

힌트

Python 사용자는 PyPy3로 제출하는 것을 권장한다.

예제2

  1. 예제 1

    입력
    4 3
    4 6 7 10
    1 40
    2 1
    1 40
    
    예상 출력
    1
    0
    
  2. 예제 2

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