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

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

곱하기와 쿼리

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

요약
수열에서 서로 다른 두 원소의 곱이 x가 되는지 판별하고, 특정 위치의 값을 0으로 바꾸는 질의를 처리한다.
난이도

보통10점 중 5점

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

문제

길이가 NN인 수열 A_1,A_2,A_3,⋯ ,A_NA\_1, A\_2, A\_3, \cdots, A\_N이 주어진다.

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

  • 1 xx: 수열에서 서로 다른 두 수 ii, jj를 골라 A_iA\_i, A_jA\_j를 곱하여 xx를 만들 수 있으면 11, 없으면 00을 출력한다. (i≠ji \neq j; 0≤x≤100,000,0000 \le x \le 100\\,000\\,000)
  • 2 ii: A_iA\_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인 수열 A_1,A_2,A_3,⋯ ,A_NA\_1, A\_2, A\_3, \cdots, A\_N이 공백으로 구분되어 주어진다. (1≤A_i≤10,0001 \le A\_i \le 10\\,000)

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

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

출력

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

힌트

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