만드는 중입니다

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

우편

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

요약
시간에 따라 속도가 바뀌는 일방통행 순환 경로에서 출발 우체국과 한 바퀴 돌아 복귀하는 가장 이른 시각을 구합니다.
난이도

어려움10점 중 9점

유형
배열, 그리디, 시뮬레이션, 이분 탐색
정답자
아직 제출이 없습니다

문제

π 도시는 우편 배달 제도를 개편하려고 한다. 낡은 자동차 여러 대 대신, 도시의 우체국 사이에서 우편물을 모두 실어 나를 전용 E-모빌 한 대를 구입했다.

도시 우편 IT팀이 모든 우체국을 지나는 순환 경로를 만들었다. 도시의 도로는 모두 일방통행이다. 도시의 우편물은 먼저 물류센터로 모이고, 그다음 E-모빌이 경로를 돈다. 교통 체증 때문에 경로 각 구간의 속도는 시간대에 따라 달라진다. 0시에 물류센터에서 출발한 E-모빌이 우편물을 배달하고 가능한 한 일찍 물류센터로 돌아온다면, 그 물류센터 위치가 최적이다. 우편물을 내리는 시간은 무시할 만큼 짧다.

주어진 경로와 시간에 따른 E-모빌의 속도로부터 물류센터의 최적 위치와 물류센터로 돌아올 수 있는 가장 이른 시각을 구하는 프로그램을 작성하라.

입력

첫 줄에 우체국 수를 나타내는 양의 정수 NN이 주어진다. 우체국은 경로 순서대로 1부터 NN까지 번호가 매겨진다.

이어서 NN개의 구간 정보가 주어진다. 각 구간은 세 줄로 설명된다.

첫째 줄: 구간의 길이 did_i (di≤109d_i \le 10^9)와, 속도가 일정한 시간 구간의 개수 EiE_i(0 이상의 정수).

둘째 줄: 속도가 바뀌는 시각 ti,jt_{i,j} (1≤j≤Ei1 \le j \le E_i). 0<ti,1<⋯<ti,Ei≤1090 < t_{i,1} < \dots < t_{i,E_i} \le 10^9이다. EiE_i가 0이면 이 줄은 비어 있다.

셋째 줄: 반열린 구간 [ti,j−1,ti,j)[t_{i,j-1}, t_{i,j})에서의 속도 vjv_j (1≤j≤Ei+11 \le j \le E_i+1). 여기서 ti,0=0t_{i,0}=0, ti,Ei+1=+∞t_{i,E_i+1}=+\infty이다.

한 줄의 모든 수는 공백 하나로 구분된다.

출력

한 줄에 물류센터를 둘 우체국 번호와 E-모빌이 경로를 한 바퀴 도는 데 걸리는 시간을 출력한다.

절대 오차 또는 상대 오차가 10−910^{-9} 이하이면 정답으로 인정한다. 출력한 점에서 어떤 경로 구간까지의 최대 거리를 xx, 정답에서 같은 값을 yy라고 하자. ∣x−y∣max⁡{1,∣y∣}≤10−9\frac{|x-y|}{\max\{1,|y|\}} \le 10^{-9}을 만족하면 정답이다.

힌트

세 번째 부분 문제에서 N≤105N \le 10^5이고 N≤∑Ei≤3⋅105N \le \sum E_i \le 3 \cdot 10^5이다. 세 번째 부분 문제의 각 테스트는 따로 채점된다.

예제2

  1. 예제 1

    입력
    2
    3 2
    1
    1 2
    4 2
    2
    3 1
    
    예상 출력
    2 2.833333
    
  2. 예제 2

    입력
    2
    2 1
    
    2
    2 1
    
    2
    
    예상 출력
    1 2.000000