Prihlásenie Registrácia  

C - Čakáreň

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Pacienti idú k lekárovi. Každý pacient príde v určitú dobu, danú v časových jednotkách menom chvíľa. Ak nikto pred ním už nečaká a lekár je voľný, vojde k lekárovi, inak počká na všetkých pred ním. Vieme, kedy vyšiel od lekára posledný pacient a aj to, že lekár potrebuje na každého pacienta aspoň 5 chvíľ.
Z týchto údajov nevieme presne zistiť, ktorý pacient bol ako dlho, no vieme povedať, či sa každá návšteva vošla do nejakého časového limitu (dĺžka najdlhšej návštevy).
Aký je najmenší možný takýto limit?

Úloha

Pre dané časy príchodov a čas odchodu posledného pacienta nájdite najmenšiu možnú dĺžku najdlhšej návštevy pacienta.

Vstup

V prvom riadku vstupu sa nachádza počet testovacích sád S

Každá sada začína riadkom s celými číslami P a K určujúcimi počet pacientov a čas odchodu posledného pacienta

Nasleduje riadok s P celými číslami Z, určujúcimi časy príchodov jednotlivých pacientov

1 ≤ S ≤ 50
1 ≤ P ≤ 10 000
0 ≤ Z ≤ K ≤ 1 000 000

Výstup

Výstupom programu je pre každú sadu najmenšie možné trvanie najdlhšej návštevy pacienta s presnosťou na 4 desatinné čísla vyjadrené vo chvíľach.
Ak vstup podľa zadania nemá riešenie, vypíšte -1.

Príklad

Vstup:

2
2 1005
100 1001
5 150
100 105 110 115 120

Výstup:

-1
10