Trevlig väg | 프로그래밍의 벗 PivotOJ
PivotOJ

Trevlig väg

시간 제한: 3000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2018 — finalBOJ 20869
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

När jag går hemåt går jag inte alltid den kortaste vägen, utan en väg som a) hela tiden tar mig närmare hem, och b) är "trevligast", i den meningen att medelvärdet av de passerade vägavsnittens "trevlighetsfaktor" är så hög som möjligt. Skriv ett program som beräknar det maximala sådana medelvärdet.

Kartan över min stad kan beskrivas med hjälp av nn platser numrerade från 11 till nn. Plats 11 är min startplats och plats nn är mitt hem, och platserna har sorterats efter avstånd så att en plats med högre nummer alltid ligger närmare hemmet än en med lägre nummer.

Vidare finns mm olika "vägavsnitt" som var och en leder från en plats uiu_i till en annan plats viv_i och har en trevlighetsfaktor wiw_i, som kan bero på att där finns några ovanliga träd, någon gullig katt i ett fönster eller något annat trevligt. Eftersom jag alltid vill gå i riktning hemåt, så har vi i beskrivningen endast tagit med vägavsnitt där ui<viu_i<v_i.

Den som är lite matematiskt intresserad (ifall det nu skulle finnas någon sådan i detta sällskap) skulle kunna kalla detta för en riktad och viktad acyklisk graf.

[이미지 1]

Kartan i det andra exemplet. Den trevligaste vägen är 1351\rightarrow 3\rightarrow 5.

입력

Den första raden innehåller de två heltalen nn och mm (2n1052 \leq n \leq 10^5 , 1m21051 \leq m \leq 2\cdot 10^5). Var och en av de följande mm raderna beskriver ett vägavsnitt och innehåller tre heltal uiu_i, viv_i och wiw_i (1ui<vin1 \leq u_i < v_i \leq n, 1wi21061 \le w_i \le 2\cdot 10^6), vilket betyder att vägavsnittet går från plats uiu_i till plats viv_i och har trevlighetsfaktor wiw_i.

Det kommer aldrig finnas mer än ett vägavsnitt som förbinder samma platser, och det garanteras att det går att ta sig från plats 11 till plats nn.

출력

Skriv ut ett tal: det högsta uppnåbara medelvärdet av trevlighetsfaktorer på en väg från plats 1 till plats nn. Svaret anses korrekt om det har ett relativt eller absolut fel av högst 10610^{-6}.

예제

예제 1

입력
3 3
1 2 20
2 3 17
1 3 18
출력
18.5000000000

예제 2

입력
5 6
1 2 20
2 3 17
1 3 18
4 5 19
3 5 23
2 4 22
출력
20.5
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.