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

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

TOYS

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

요약
교차하지 않는 n개의 칸막이가 상자를 n+1개의 칸으로 나눌 때, 떨어진 m개의 장난감이 각 칸에 몇 개씩 들어가는지 센다.
난이도

보통10점 중 6점

유형
이분 탐색, 기하, 정렬
정답자
아직 제출이 없습니다

문제

칸막이로 나뉜 장난감 상자에서 각 칸에 들어가는 장난감의 개수를 구하세요.

존은 장난감을 가지고 논 뒤 한 번도 정리하지 않습니다. 부모님은 장난감을 담을 직사각형 상자를 주었지만, 존은 장난감을 상자 안으로 그냥 던져 넣기만 합니다. 그래서 장난감이 모두 뒤섞여 좋아하는 장난감을 찾을 수 없습니다.

부모님은 상자 안에 판지로 만든 칸막이를 세우기로 했습니다. 존이 계속 장난감을 던져 넣어도, 서로 다른 칸에 떨어진 장난감은 섞이지 않고 분리됩니다. 아래 그림은 장난감 상자를 위에서 내려다본 예시입니다.

이 문제에서는 존이 장난감을 상자에 던져 넣을 때 각 칸에 몇 개의 장난감이 떨어지는지 구해야 합니다.

입력

입력은 하나 이상의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 여섯 정수 nn, mm, x1x_1, y1y_1, x2x_2, y2y_2가 주어집니다. nn은 칸막이의 수(0<n≤50000 < n \le 5000), mm은 장난감의 수(0<m≤50000 < m \le 5000)입니다. 점 (x1,y1)(x_1, y_1)은 상자의 왼쪽 위 꼭짓점, (x2,y2)(x_2, y_2)는 오른쪽 아래 꼭짓점입니다.

이어지는 nn개의 줄에는 각각 두 정수 UiU_i와 LiL_i가 주어지며, ii번째 칸막이는 위쪽 끝 (Ui,y1)(U_i, y_1)에서 아래쪽 끝 (Li,y2)(L_i, y_2)까지 이어집니다. 칸막이들은 서로 교차하지 않으며 왼쪽에서 오른쪽 순서로 주어집니다.

다음 mm개의 줄에는 각각 두 정수 XjX_j와 YjY_j가 주어지며, jj번째 장난감이 떨어진 위치입니다. 장난감의 순서는 무작위입니다. 어떤 장난감도 칸막이 위에 정확히 떨어지거나 상자 밖으로 떨어지지 않습니다.

입력의 끝은 정수 00 하나로 이루어진 줄로 표시됩니다.

출력

각 테스트 케이스마다 칸의 개수만큼 줄을 출력합니다. 각 칸에 대해 칸 번호, 콜론과 공백 하나, 그리고 그 칸에 떨어진 장난감의 수를 출력합니다. 칸은 가장 왼쪽 00번부터 가장 오른쪽 nn번까지 번호가 매겨집니다. 서로 다른 테스트 케이스의 출력은 빈 줄 하나로 구분합니다.

예제1

  1. 예제 1

    입력
    5 6 0 10 60 0
    3 1
    4 3
    6 8
    10 10
    15 30
    1 5
    2 1
    2 8
    5 5
    40 10
    7 9
    4 10 0 10 100 0
    20 20
    40 40
    60 60
    80 80
     5 10
    15 10
    25 10
    35 10
    45 10
    55 10
    65 10
    75 10
    85 10
    95 10
    0
    
    예상 출력
    0: 2
    1: 1
    2: 1
    3: 1
    4: 0
    5: 1
    
    0: 2
    1: 2
    2: 2
    3: 2
    4: 2