Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

FR_06_10 - Czas brutto, czas netto

Czas brutto, czas netto

Podczas imprez biegowych ranking generowany jest na podstawie czasu brutto, czyli czasu, jaki upłynął od wystrzału z pistoletu startowego do osiągnięcia mety przez zawodnika. Tak być musi w zawodach rangi mistrzowskiej, inaczej niejednokrotnie zwycięzcą biegu nie byłby ten, który linię mety minął jako pierwszy. Ale czy musi być tak na biegach amatorskich? Zawodnik, który stoi daleko od linii startu, musi przebiec dłuższy dystans oraz pierwsze (kilo)metry rywalizować w sporym ścisku. System, w którym ten, który ma lepszy czas rzeczywisty (netto - mierzony od chwili przekroczenia linii startu) często jest sklasyfikowany niżej niż ten, kto przed biegiem ustawił się bliżej startu, nie jest do końca sprawiedliwy. Dlatego czasami w biegach ulicznych, ranking generowany jest na podstawie czasów netto, choć czasami dopiero od pewnego ustalonego miejsca. Twoim zadaniem jest wygenerować klasyfikację z biegu uwzględniając czas netto, mając do dyspozycji ranking brutto oraz informacje o opóźnieniu zawodników w stosunku do przekroczenia linii startu.

Wejście
W pierwszym wierszu wejścia znajduje się liczba całkowita n (2 ≤ n ≤ 105) oznaczająca liczbę uczestników biegu. W kolejnych n wierszach znajdują się rekordy, w których podane są kolejno: nazwisko, imię, czas brutto w formacie GG:MM:SS oraz opóźnienie czasowe w formacie MM:SS. Nazwisko i imię to ciągi małych i dużych liter alfabetu łacińskiego, których sumaryczna długość nie przekracza 30 znaków. Należy założyć, że dane są poprawne, tzn. czas netto będący różnicą czasu brutto i opóźnienia jest zawsze dodatni.

Wyjście
Na wyjściu należy wygenerować dokładnie n rekordów, składających się na klasyfikację biegu według czasów netto. Każdy rekord to kolejno: numer porządkowy uczestnika, nazwisko, imię, czas netto (GG:MM:SS), czas brutto (GG:MM:SS), rozdzielone pojedynczym znakiem spacji. W przypadku, gdy co najmniej dwóch zawodników ma jednakowy czas netto, o ich kolejności w rankingu decyduje porządek leksykograficzny nazwisko - imię.

Przykład

Wejście
10
Bak Adam 00:37:00 00:02
Kakol Piotr 00:40:00 00:01
Kasprowicz Marcin 00:40:01 00:00
Bejnar Mieczyslaw 00:40:02 00:02
Sliwinski Mariusz 00:40:03 00:04
Dlugosz Witold 00:41:11 00:03
Nowaczynski Arkadiusz 00:43:17 00:01
Boniecki Maciej 00:43:18 00:02
Konczak Jaroslaw 00:43:57 00:02
Kraska Bartek 00:43:59 00:04

Wyjście
1 Bak Adam 00:36:58 00:37:00
2 Kakol Piotr 00:39:59 00:40:00
3 Sliwinski Mariusz 00:39:59 00:40:03
4 Bejnar Mieczyslaw 00:40:00 00:40:02
5 Kasprowicz Marcin 00:40:01 00:40:01
6 Dlugosz Witold 00:41:08 00:41:11
7 Boniecki Maciej 00:43:16 00:43:18
8 Nowaczynski Arkadiusz 00:43:16 00:43:17
9 Konczak Jaroslaw 00:43:55 00:43:57
10 Kraska Bartek 00:43:55 00:43:59


Dodane przez:Mariusz Śliwiński
Data dodania:2016-10-17
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.