만드는 중입니다

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

Grand Escape

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

요약
주민은 x좌표를 유지한 채 아래로 내려가며, 벽에 닿을 때마다 속도가 한 단계씩 느려집니다. 각 주민이 y=0에 도달하는 시간을 구합니다.
난이도

보통10점 중 6점

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

문제

SRC(Science Research City)는 2차원 평면, 그중에서도 제1사분면에 있는 도시이다. 도시에는 NN개의 벽이 있다. 벽은 xx축과 평행한 선분으로 표현된다. 구체적으로 ii(1≤i≤N1 \leq i \leq N)번째 벽은 (Lx1,i,Lyi)(Lx_{1,i}, Ly_i)와 (Lx2,i,Lyi)(Lx_{2,i}, Ly_i)를 잇는 선분이다. 그치지 않는 비로 침수 위험이 커지자, SRC는 직선 y=0y=0을 따라 대피소를 지었다.

도시에는 MM명의 사람이 산다. ii(1≤i≤M1 \leq i \leq M)번째 사람은 (Pxi,Pyi)(Px_i, Py_i) 위치에 있다. SRC에 홍수가 나면 각 사람은 y=0y=0을 향해 −y-y 방향으로 이동한다. 초기 속도는 11이다.

사람은 벽에 닿을 때마다 속도가 줄어든다. 선분의 끝점에 닿는 것도 벽에 닿는 것으로 본다. 벽에 닿기 전 속도가 1n\frac{1}{n}이었다면, 닿은 뒤의 속도는 1n+1\frac{1}{n+1}이 된다. 즉 11칸을 이동하는 데 걸리는 시간이 11만큼 늘어난다. 모든 yy좌표는 서로 겹치지 않는다. 따라서 사람과 벽의 yy좌표는 모두 다르며, 사람의 초기 위치가 벽과 겹치는 일은 없다. xx좌표는 같을 수 있다.

입력

첫 번째 줄에 벽의 수 NN이 주어진다.

이후 NN개의 줄에 걸쳐 ii번째 줄에 ii번째 벽의 정보인 Lx1,iLx_{1,i}, Lx2,iLx_{2,i}, LyiLy_i가 공백으로 구분되어 주어진다. ii번째 벽은 (Lx1,i,Lyi)(Lx_{1,i}, Ly_i)와 (Lx2,i,Lyi)(Lx_{2,i}, Ly_i)를 잇는 선분이다.

다음 줄에 사람의 수 MM이 주어진다.

이후 MM개의 줄에 걸쳐 ii번째 줄에 ii번째 사람의 위치 PxiPx_i, PyiPy_i가 공백으로 구분되어 주어진다.

출력

MM개의 줄을 출력한다. ii번째 줄에는 ii번째 사람이 y=0y=0에 도달하는 데 걸리는 시간을 출력한다.

제한

  • 0≤N≤200,0000 \leq N \leq 200,000 (N=0N=0일 수 있음에 주의하라)
  • 1≤M≤200,0001 \leq M \leq 200,000
  • Lx1i<Lx2iLx1_i < Lx2_i
  • 입력에서 주어지는 모든 좌표 (x,y)(x, y)는 1≤x,y≤1091 \leq x, y \leq 10^9를 만족한다.
  • 모든 yy좌표는 서로 겹치지 않는다.
  • 입력에서 주어지는 모든 수는 정수이다.

힌트

이 문제의 일부 테스트 케이스는 답이 2312^{31}을 넘어갈 수 있으므로 long long 자료형을 쓰도록 하자.

예제1

  1. 예제 1

    입력
    3
    1 5 1
    2 9 4
    6 10 6
    4
    3 2
    4 8
    8 5
    7 7
    
    예상 출력
    3
    13
    9
    17