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

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

태양광 조명

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

요약
전원을 공급받는 순서와 이미 켜진 램프 중 각 램프를 비추는 램프 수를 바탕으로 모든 램프가 켜지는 시각을 구합니다.
난이도

어려움10점 중 9점

유형
기하, 세그먼트 트리, 분할 정복
정답자
아직 제출이 없습니다

문제

바이트아사르의 정원은 넓고 아름답다. 해가 진 뒤에도 정원을 보고 싶어서 그는 정원 곳곳에 조명 nn개를 설치했다.

조명에는 방향이 있어서 정해진 각도만큼만 비추고, 그 각도는 모든 조명이 같다. 바이트아사르는 조명을 모두 같은 방향으로 맞춰 두었다. 이 조명은 태양광 조명이라 태양광 패널만 있고 배터리는 없다. 그래도 밤에 빛을 낸다. 어떤 조명을 비추는 다른 조명이 충분히 많으면 그 조명도 빛을 내기 때문이다.

바이트아사르는 전기를 공급할 순서도 정해 두었다. 그 순서대로 조명에 11번부터 nn번까지 번호를 붙이면, 조명 ii는 시각 ii에 전기를 공급받아 그때부터 빛을 낸다. 또 조명 ii는 자신을 비추는 다른 조명이 kik_i개 이상이 되는 순간에도 빛을 내기 시작한다. 이렇게 켜진 조명이 또 다른 조명을 켜기도 하며, 이 연쇄가 이어지는 동안 시각은 흐르지 않는다. 한 번 빛을 내기 시작한 조명은 꺼지지 않는다.

각 조명이 빛을 내기 시작하는 시각을 구하라.

입력

첫째 줄에 조명의 개수 nn이 주어진다 (1≤n≤200 0001 \le n \le 200\,000).

둘째 줄에 정수 X1X_1, Y1Y_1, X2X_2, Y2Y_2가 공백 하나로 구분되어 주어진다 (−109≤Xi,Yi≤109-10^9 \le X_i, Y_i \le 10^9, (Xi,Yi)≠(0,0)(X_i, Y_i) \neq (0, 0)). 이 네 수가 모든 조명이 비추는 영역을 정한다. 점 (x,y)(x, y)에 있는 조명에 대해, (x,y)(x, y)에서 출발해 각각 점 (x+X1,y+Y1)(x + X_1, y + Y_1)과 점 (x+X2,y+Y2)(x + X_2, y + Y_2)를 지나는 두 반직선을 그으면 두 개의 각이 생긴다. 그중 작은 쪽 각의 내부와 경계가 이 조명이 비추는 영역이다. 이 각은 항상 180180도보다 작다.

다음 nn개 줄에 조명의 위치가 주어진다. 그중 ii번째 줄에는 정수 xix_i와 yiy_i가 공백 하나로 구분되어 주어지며 (−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9), 조명 ii가 점 (xi,yi)(x_i, y_i)에 있다는 뜻이다. 같은 점에 있는 조명은 없다.

마지막 줄에 정수 k1,k2,…,knk_1, k_2, \dots, k_n이 공백 하나로 구분되어 주어진다 (1≤ki≤n1 \le k_i \le n). 조명 ii는 자신을 비추는 다른 조명이 kik_i개 이상이면 빛을 낸다.

출력

한 줄에 정수 t1,…,tnt_1, \dots, t_n을 공백 하나로 구분해 출력한다. tit_i는 조명 ii가 빛을 내기 시작하는 시각이다.

힌트

첫 번째 예제에서는 시각 11에 바이트아사르가 조명 11을 켜고, 이때 조명 33도 함께 빛을 낸다. 시각 22에 조명 22가 켜지면 조명 11, 22, 33이 조명 44를 비추므로 조명 44도 빛을 내기 시작한다.

예제4

  1. 예제 1

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

    입력
    1
    1 0 0 1
    0 0
    1
    
    예상 출력
    1
    
  3. 예제 3

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

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