Cykeltävlingen | 프로그래밍의 벗 PivotOJ
PivotOJ

Cykeltävlingen

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2020 — skolkvalBOJ 20816

문제

Du och dina kompisar har bildat ett lag som ska delta i en löpartävling. Tävlingen har lite speciella regler. Man får nämligen använda en cykel, men bara en per lag. Medlemmarna i laget kan alltså turas om att använda cykeln, och kan när som helst hoppa av den så att de som kommer bakom kan använda den istället. Det är inte tillåtet för cykeln att färdas bakåt. 

Tiden för ett lag räknas när den sista medlemmen går i mål. I ert lag är ni NN personer. Person nummer ii springer med en konstant hastighet sis_i meter/sekund, och cyklar med en konstant hastighet cic_i meter/sekund. Loppet är LL meter långt. Hur snabbt kan ni ta er i mål, om ni använder cykeln optimalt?

입력

På första raden står de två heltalen NN och LL (2N102 \leq N \leq 10, 1L1051 \leq L \leq 10^5). På de NN följande raderna står två heltal vardera: sis_i och cic_i (1si,ci1001 \leq s_i, c_i \leq 100).

출력

Programmet ska skriva ut ett flyttal: den minimala tiden som laget kan ta sig i mål (i sekunder). Svaret anses korrekt om det skiljer sig från det rätta svaret med högst 10210^{-2}.

힌트

I det första exemplet är en lösning att låta den första personen cykla de första 88 meterna, och sen springa resten. Person nummer 22 kan då springa de första 88 meterna och sen cykla sista biten. Person nummer 33 springer hela vägen. Notera att person nummer 33 har högre springhastighet än cykelhastighet.

I det andra exemplet består laget av en elitlöpare, en elitcyklist, en PO-arrangör, och en struts. Lösningen bygger på att låta PO-arrangören cykla en stor del av tiden.

예제

예제 1

입력
3 10
1 3
2 3
3 1
출력
4.666666667

예제 2

입력
4 5000
6 9
5 16
4 7
14 1
출력
839.416058394
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.