만드는 중입니다

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

철도 건널목

면접 대비

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

요약
움직이는 기차 구간과 차량 도착 시각이 주어질 때, 각 차량이 x 지점을 건널 수 있는 가장 이른 시각을 구합니다.
난이도

보통10점 중 5점

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

문제

래디에이터 스프링스를 지나는 큰 철도가 있다. 이 철도에 좌표계를 도입한다. 철도 위를 nn대의 기차가 움직인다. 각 기차는 선분이다. 기차 ii는 시작 시각에 [ai;bi][a_i; b_i] 구간을 차지하고, 일정한 속도 viv_i로 움직인다. 철도는 양방향이므로 기차는 좌표축의 양의 방향과 음의 방향으로 모두 움직일 수 있다. 기차를 나타내는 선분들은 어느 시점에서든 서로 겹치거나, 서로를 포함하거나, 일치할 수 있다.

문제

점 xx에 철도 건널목이 있다. 시각 tit_i에 차들이 건널목에 도착한다. 각 차에 대해 건널목을 건널 수 있는 최소 시각을 구한다. 차는 건널목이 기차에 점유되지 않은 경우에만 건널 수 있다. 기차의 선분이 점 xx를 포함하면 건널목은 점유된 것으로 본다. 기차와 차가 같은 순간에 건널목에 도달하면 건널목은 점유된 것으로 본다. 차는 건널목을 순간적으로 통과한다.

입력

첫 줄에 정수 nn, mm, xx (1≤n,m≤1051 \le n, m \le 10^5, ∣x∣≤109|x| \le 10^9)가 주어진다. 각각 기차의 수, 건널목에 도착하는 차의 수, 건널목의 위치이다. 이어지는 nn개의 줄에는 정수 aia_i, bib_i, viv_i (∣ai∣≤109|a_i| \le 10^9, ∣bi∣≤109|b_i| \le 10^9, 1≤vi≤1091 \le v_i \le 10^9, ai≠bia_i \ne b_i)가 주어진다. 이는 기차 ii의 선분과 속도이다. ai<bia_i < b_i이면 기차는 좌표축의 양의 방향으로, ai>bia_i > b_i이면 음의 방향으로 움직인다. 마지막 줄에는 차가 건널목에 도착하는 시각을 나타내는 음이 아닌 정수 tjt_j (0≤tj≤1090 \le t_j \le 10^9)가 mm개 주어진다.

출력

mm개의 줄을 출력한다. jj번째 줄에는 차 jj가 건널목을 건널 수 있는 가장 이른 시각 bjb_j를 실수로 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6}을 넘지 않으면 정답으로 인정한다.

예제2

  1. 예제 1

    입력
    3 2 0
    -4 -1 1
    13 6 3
    -7 -6 1
    1 5
    
    예상 출력
    4.333333333
    5.000000000
    
  2. 예제 2

    입력
    2 2 0
    4 2 1
    -11 -8 2
    2 6
    
    예상 출력
    5.500000000
    6.000000000