만드는 중입니다

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

광고 매칭

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

요약
각 갱신 뒤에, 한 수신자가 같은 광고주의 광고를 두 번 받지 않고도 모든 광고를 배달할 수 있는지 판별합니다.
난이도

어려움10점 중 8점

유형
수학, 조합론, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

MOLOCO는 고성능 광고 플랫폼을 이용해 광고주와 잠재 사용자를 매칭하는 회사입니다.

MOLOCO는 NN명의 광고주와 계약되어 있습니다. ii번째 광고주는 전달할 광고를 aia_i개 결제했습니다. 저희 고도화된 예측 알고리즘이 광고를 받을 잠재 수신자 MM명을 골랐습니다. jj번째 수신자에게는 광고를 최대 bjb_j개까지 전달할 수 있습니다.

재현은 광고 참여도를 높이기 위한 가설 여러 개를 검증하고 있습니다. 어느 날 재현은 한 수신자가 받는 광고가 모두 서로 다른 광고주의 것이어야 한다고 생각했습니다. 같은 광고를 여러 번 보는 것은 지루하기 때문입니다.

재현은 이 가설들의 수익성을 추정하려 합니다. 다음 네 종류의 갱신을 수행합니다.

  • 1 i: aia_i를 1 증가시킨다.
  • 2 i: aia_i를 1 감소시킨다.
  • 3 j: bjb_j를 1 증가시킨다.
  • 4 j: bjb_j를 1 감소시킨다.

모든 갱신은 누적됩니다. 광고주나 수신자의 상황이 바뀔 때마다 모든 광고를 전달할 수 있는지 확인하려 합니다.

입력

첫 줄에 두 정수 NN과 MM이 주어진다 (1≤N,M≤250 0001 \le N, M \le 250\,000).

다음 줄에 NN개의 정수 a1,a2,…,aNa_1, a_2, \ldots, a_N이 주어진다 (0≤ai≤250 0000 \le a_i \le 250\,000).

다음 줄에 MM개의 정수 b1,b2,…,bMb_1, b_2, \ldots, b_M이 주어진다 (0≤bj≤250 0000 \le b_j \le 250\,000).

다음 줄에 정수 QQ가 주어진다 (1≤Q≤250 0001 \le Q \le 250\,000).

다음 QQ개의 줄에는 아래 형식 중 하나의 갱신이 주어진다.

  • 1 i (1≤i≤N1 \le i \le N)
  • 2 i (1≤i≤N1 \le i \le N)
  • 3 j (1≤j≤M1 \le j \le M)
  • 4 j (1≤j≤M1 \le j \le M)

입력은 모든 aia_i와 bjb_j가 항상 0 이상이도록 주어진다.

출력

QQ개의 줄을 출력한다. ii번째 줄에는 처음 ii개의 갱신을 반영한 뒤 모든 광고를 전달할 수 있으면 1을, 그렇지 않으면 0을 출력한다.

예제1

  1. 예제 1

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