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

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

다시 마우스 옮기기

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

요약
최대 50,000개의 축에 평행한 직사각형이 아래에서 위 순서로 쌓여 있고, 50,000번의 클릭 지점마다 그 점을 덮는 가장 위 창을 출력한 뒤 맨 위로 올린다.
난이도

어려움10점 중 9점

유형
세그먼트 트리, 기하, 정렬, 구현
정답자
아직 제출이 없습니다

문제

RR개의 행과 CC개의 열로 이루어진 화면이 있다 (1≤R≤10,0001 \le R \le 10{,}000, 1≤C≤10,0001 \le C \le 10{,}000).

화면에는 nn개 (1≤n≤50,0001 \le n \le 50{,}000)의 직사각형 창이 있다. ii번째 창은 왼쪽 위 꼭짓점 (xl,yt)(x_l, y_t)와 오른쪽 아래 꼭짓점 (xr,yb)(x_r, y_b)로 주어지며, 1≤xl<xr≤C1 \le x_l < x_r \le C와 1≤yb<yt≤R1 \le y_b < y_t \le R를 만족한다 (즉, 넓이가 00인 창은 없다). 창은 경계 위의 점을 모두 포함한다. 즉, 그 창은 xl≤x≤xrx_l \le x \le x_r이고 yb≤y≤yty_b \le y \le y_t인 모든 점 (x,y)(x, y)로 이루어진다.

창들은 아래에서 위로 쌓인 순서대로 주어진다. 두 창이 겹치는 곳에서는 입력에서 더 뒤에 나온 창이 앞선 창 위에 그려진다 (바로 다음일 필요는 없다). 창의 번호는 입력 순서대로 11부터 nn까지이다.

마우스는 화면을 클릭할 수 있다. 마우스는 mm개 (1≤m≤50,0001 \le m \le 50{,}000)의 명령을 받는다. 각 명령은 마우스를 위치 (x,y)(x, y) (1≤x≤C1 \le x \le C, 1≤y≤R1 \le y \le R)로 옮긴 뒤 그 자리를 클릭한다. 클릭하면 그 위치에서 보이는 창, 즉 그 점을 덮고 있는 창들 중 가장 위에 있는 창이 맨 위로 올라와 완전히 보이게 되고 초점을 가진 창이 된다. 그 위치에 창이 하나도 없으면 쌓인 순서는 바뀌지 않는다.

각 클릭 후, 그 클릭이 초점을 준 창의 번호를 출력하라.

입력

첫째 줄에 열의 개수 CC가 주어진다. 둘째 줄에 행의 개수 RR가 주어진다. 셋째 줄에 창의 개수 nn이 주어진다.

다음 nn개의 줄에는 각각 네 정수 xlx_l, yty_t, xrx_r, yby_b가 주어지며, 이는 한 창의 왼쪽 위와 오른쪽 아래 좌표이다. 창의 번호는 이 순서대로 11부터 nn까지이다.

그 다음 줄에는 정수 mm이 주어진다. 다음 mm개의 줄에는 각각 두 정수 xx와 yy가 주어지며, 이는 그 클릭에서 마우스가 옮겨 갈 새 위치이다.

출력

mm개의 줄을 출력한다. ii번째 줄에는 0≤vi≤n0 \le v_i \le n인 정수 viv_i를 출력한다. vi>0v_i > 0이면 ii번째 클릭이 창 viv_i 위에서 이루어져 그 창을 맨 위로 올렸다는 뜻이고, vi=0v_i = 0이면 ii번째 클릭이 창이 없는 위치에서 이루어졌다는 뜻이다.

힌트

규칙을 눈으로 확인해 보자. 너비 200200, 높이 100100 화면에 세 개의 창이 있을 때, (60,20)(60, 20)을 클릭하면 창 11이 맞아 맨 위로 올라간다. (150,90)(150, 90)에는 창이 없으므로 00이 출력된다. (150,30)(150, 30)을 클릭하면 창 22가 맞아 맨 위로 올라간다.

예제3

  1. 예제 1

    입력
    200
    100
    3
    50 50 80 20
    70 60 180 10
    10 90 100 40
    3
    60 20
    150 90
    150 30
    
    예상 출력
    1
    0
    2
    
  2. 예제 2

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

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