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

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

두더지

시간 제한3초메모리 제한128 MB

요약
직선 위에 구멍과 CD 플레이어가 있을 때, 한 플레이어를 옮기는 d번의 이동 각각에 대해 이동 직전과 모든 이동 후에 적어도 한 플레이어의 범위에 들어오는 구멍 수를 센다.
난이도

보통10점 중 7점

유형
정렬, 이분 탐색, 구간, 구현
정답자
아직 제출이 없습니다

문제

딕 대스터들리(Dick Dastardly)는 곧은 직선 능선을 따라 사는 두더지들을 괴롭히려 한다. 능선에는 두더지 굴 nn개가 일직선으로 늘어서 있으며, 서쪽에서 동쪽 방향으로 11번부터 nn번까지 번호가 매겨져 있다. 11번 굴은 원점(거리 00)에 있고, ii번 굴(2≤i≤n2 \le i \le n)은 11번 굴에서 동쪽으로 xix_i미터 떨어진 곳에 있으며 x2<x3<⋯<xnx_2 < x_3 < \cdots < x_n을 만족한다.

딕은 능선을 따라 CD 플레이어 mm개를 놓았다. jj번째 플레이어는 11번 굴에서 동쪽으로 zjz_j미터 떨어진 곳에 있다. 각 플레이어는 자신으로부터 ll미터 이내에 있는 모든 굴을 방해한다. 즉, 11번 굴로부터의 거리가 pp인 굴은 거리가 zz인 어떤 플레이어에 대해 ∣p−z∣≤l|p - z| \le l일 때 그 플레이어에게 방해를 받는다. 어떤 굴이 적어도 하나의 플레이어에게 방해받으면 그 굴의 두더지는 잠을 잘 수 없다.

dd일 동안 플레이어들이 재배치된다. ii일째 아침에 딕은 현재 11번 굴로부터 pip_i미터 떨어진 곳에 있는 플레이어를 11번 굴로부터 rir_i미터 떨어진 지점으로 옮긴다. 매 이동 직전에 위치 pip_i에는 정확히 하나의 플레이어가 있고 위치 rir_i에는 플레이어가 없음이 보장된다.

요구되는 각 시점에서 두더지가 잠들 수 없는 굴의 개수를 구하라.

입력

첫째 줄에 네 정수 nn, mm, dd, ll (2≤n,m≤5000002 \le n, m \le 500000, 1≤d≤5000001 \le d \le 500000, 1≤l≤1091 \le l \le 10^9)이 주어진다. 각각 굴의 개수, CD 플레이어의 개수, 날의 수, 플레이어의 사정거리이다.

둘째 줄에 n−1n-1개의 정수 x2,x3,…,xnx_2, x_3, \ldots, x_n (0<x2<x3<⋯<xn≤1090 < x_2 < x_3 < \cdots < x_n \le 10^9)이 주어진다. 2,3,…,n2, 3, \ldots, n번 굴의 11번 굴로부터의 거리이다.

셋째 줄에 mm개의 정수 z1,z2,…,zmz_1, z_2, \ldots, z_m (0≤z1<z2<⋯<zm≤1090 \le z_1 < z_2 < \cdots < z_m \le 10^9)이 주어진다. CD 플레이어들의 11번 굴로부터의 거리이며, 모든 플레이어는 11번 굴의 동쪽에 있다.

이어지는 dd개의 줄 중 ii번째 줄에는 두 정수 pip_i와 rir_i (0≤pi,ri≤1090 \le p_i, r_i \le 10^9, pi≠rip_i \ne r_i)가 주어진다. ii일째에 거리 pip_i에 있는 플레이어를 거리 rir_i로 옮긴다는 뜻이다. 매 이동 직전에 위치 pip_i에는 플레이어가 존재하고 위치 rir_i에는 플레이어가 없음이 보장된다.

출력

d+1d + 1개의 줄을 출력한다. i=1,2,…,di = 1, 2, \ldots, d에 대해 ii번째 줄에는 ii번째 이동을 하기 직전 상태에서 두더지가 잠들 수 없는 굴의 개수를 출력한다. d+1d + 1번째 줄에는 마지막 이동을 마친 후의 개수를 출력한다.

(다시 말해, 처음 배치의 개수를 먼저 출력하고, dd번의 이동을 순서대로 적용할 때마다 새로 생긴 개수를 출력하면 된다.)

예제3

  1. 예제 1

    입력
    5 3 4 1
    2 5 6 11
    2 4 8
    2 1
    4 10
    8 6
    1 8
    
    예상 출력
    2
    3
    3
    5
    3
    
  2. 예제 2

    입력
    2 1 2 3
    10
    5
    5 10
    10 0
    
    예상 출력
    0
    1
    1
    
  3. 예제 3

    입력
    4 2 2 1000000000
    100 200 1000000000
    0 500000000
    0 1000000000
    500000000 1
    
    예상 출력
    4
    4
    4