고속도로 사이클링
시간 제한1초메모리 제한512 MB
N개 구간 각각의 속력을 정해 에너지 합이 EU를 넘지 않도록 하면서 전체 이동 시간을 최소로 만드는 값을 구한다.
문제
DanDan은 항상 자신에게 도전하는 것을 좋아한다. 이번 여름, 그는 쓰촨-티베트 고속도로를 따라 자전거를 타고 라싸에 도착할 계획이다. 쓰촨-티베트 고속도로는 아름다운 경치로 가득하지만, 동시에 많은 위험한 장애물이 있다는 것은 잘 알려져 있다. DanDan의 체력은 매우 제한적이어서, 자전거를 타는 매일 전날에 목적지를 미리 계획한다. 작업량을 적절히 분배하는 것은 매우 중요한 문제이다.
DanDan은 최첨단 자전거를 가지고 있다. 그것을 타면, 그가 걱정해야 하는 유일한 것은 공기 저항이다 (그는 자전거의 마찰이나 자전거와 지면 사이의 마찰에 전혀 영향을 받지 않는다). 어느 날, 그는 N개의 도로 구간을 자전거로 달리기로 결정했다. 주어진 구간의 모든 도로는 동일하다고 간주할 수 있다. i번째 구간에 대해, 우리는 세 가지 매개변수 si, ki, vi'를 지정한다. 여기서 si는 도로의 길이, ki는 공기 저항 계수, vi'는 해당 도로 구간에서의 바람 속도이다 (vi' > 0은 바람이 진행 방향으로 불고 있음을, 반대는 바람이 진행 방향에 반대로 불고 있음을 의미한다). 주어진 순간에 자전거가 속도 v로 달린다면, 받는 공기 저항력은 F = ki(v − vi')2이다. 이렇게 해서, 길이 s의 도로 구간을 일정한 속도 v로 달렸다면, 소비된 에너지 (한 일)는 E = ki(v − vi')2s이다.
EU를 DanDan이 하루를 시작할 때의 초기 에너지라고 하자. 그가 가능한 한 빨리 목적지에 도착하도록 자전거 계획을 세우는 것을 도와주세요. DanDan은 가능한 최단 시간 T의 값을 알고 싶어한다.
입력
입력의 첫 줄은 양의 정수 N과 실수 EU를 포함하며, 각각 도로 구간의 수와 DanDan의 초기 에너지를 나타낸다.
다음 N개의 줄은 각각 하나의 도로 구간을 설명한다. 각 줄은 3개의 실수 si, ki, vi'를 포함하며, 각각 i번째 도로 구간의 길이, 공기 저항 계수, 바람 속도를 나타낸다.
출력
DanDan이 목적지에 도착하는 데 걸리는 최소 시간을 나타내는 단일 실수 T를 소수점 이하 6자리 이상으로 출력한다. 답은 실제 답과의 절대 또는 상대 오차가 0.000001 이하이면 정답으로 간주된다.
제한
모든 테스트 케이스에 대해, N ≤ 10000, 0 ≤ EU ≤ 108, 0 < si ≤ 100000, 0 < ki ≤ 15, −100 < vi' < 100이다. 답이 105를 초과하지 않음이 보장된다.