만드는 중입니다

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

배수로

면접 대비

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

요약
프로젝트 쿼리마다 두 도시가 속한 집단을 합치고, 빗물 합계가 배수 용량 합계를 넘는 집단에 속한 도시 수를 출력합니다.
난이도

보통10점 중 4점

유형
유니온 파인드, 배열, 구현
정답자
아직 제출이 없습니다

문제

ChAOS 나라에는 도시가 총 NN개 있고, 각 도시에는 11번부터 NN번까지 번호가 붙어 있다. 각 도시에는 홍수를 막기 위한 배수로가 설치되어 있다. ii번 도시의 배수로는 강수량이 AiA_i 이하일 때만 홍수를 막을 수 있다.

한 도시에만 폭우가 올 때를 대비해, 두 도시를 골라 두 도시의 배수로 용량을 공유하는 공사를 하기로 했다. 예를 들어 1번 도시와 2번 도시에 공사를 하면, 두 도시의 강수량 합이 A1+A2A_1 + A_2 이하일 때 1번과 2번 도시 모두 홍수를 막을 수 있다. 그렇지 않으면 두 도시 모두 홍수가 난다. 이어서 2번과 3번 도시에도 공사를 하면, 세 도시의 강수량 합이 A1+A2+A3A_1 + A_2 + A_3 이하일 때 1, 2, 3번 도시 모두 홍수를 막을 수 있다. 그렇지 않으면 세 도시 모두 홍수가 난다.

지금 ChAOS 나라에는 전국적으로 폭우가 내리고 있다. 현재 ii번 도시의 강수량은 BiB_i이다. 다음 두 종류의 쿼리를 처리하는 프로그램을 작성하라.

  • 11 xx yy: xx번 도시와 yy번 도시에 공사를 한다.
  • 22: 현재 상태에서 홍수가 날 도시의 개수를 출력한다.

단, 22번 쿼리는 최소 한 개 주어진다.

입력

첫 번째 줄에 도시의 개수 NN (3≤N≤1000003 \le N \le 100000)과 쿼리의 개수 MM (1≤M≤1000001 \le M \le 100000)이 주어진다.

두 번째 줄에는 NN개의 정수 A1,A2,…,ANA_1, A_2, \ldots, A_N이 주어진다. (0≤Ai≤10000 \le A_i \le 1000)

세 번째 줄에는 NN개의 정수 B1,B2,…,BNB_1, B_2, \ldots, B_N이 주어진다. (0≤Bi≤10000 \le B_i \le 1000)

네 번째 줄부터 M+3M + 3번째 줄까지 11 xx yy 또는 22 형태의 쿼리 MM개가 한 줄에 하나씩 주어진다. (1≤x,y≤N1 \le x, y \le N)

출력

각 22번 쿼리마다 정답을 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    5 4
    1 2 3 4 5
    5 4 3 2 1
    2
    1 1 4
    1 4 5
    2
    
    예상 출력
    2
    1
    
  2. 예제 2

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