Am o secretară înfiorător de dezordonată. În loc să îmi organizeze programul pe zile și ore cronologic, ea scrie în agenda mea de lucru activitățile la întâmplare. Nu e de mirare prin urmare că în programul meu apar activități care se suprapun sau că nu am timp liber sau că apar tot felul de încurcături. Ca să o pot concedia, am luat agenda pentru întreg anul . Înregistrările din agendă sunt scrise fiecare pe câte o linie sub forma: datas-dataf activitate
, unde datas
reprezintă data de început, iar dataf
reprezintă data de final a activității specificate, semnificând faptul că activitatea s-a desfășurat în intervalul [datas, dataf)
, unde datas
precedă dataf
.
Datele sunt specificate în următorul format: Z L H.M
, unde Z
reprezintă ziua din lună, L
reprezintă denumirea lunii, H
reprezintă ora, iar M
reprezintă minutul. De exemplu:
1 Mai 8.30-1 mai 9.30 Mic dejun la Tiffany’s
28 februarie 8.00- 05 martie 23.59 Concert la Viena
Ora este separată de minut prin caracterul .
(punct) și înregistrarea poate conține oricâte spații (chiar niciunul), plasate oriunde în înregistrare.
Cerință
Scrieți un program care rezolvă următoarele cerințe:
- Determinați durata celei mai lungi activități planificate în .
- Determinați numărul maxim de activități care au fost planificate simultan (au loc în același timp, adică se suprapun integral sau parțial) în .
- Determinați durata celei mai lungi perioade de timp liber neîntrerupt dintre două activități din agendă.
Date de intrare
Fișierul de intrare agenda.in
conține pe prima linie numărul natural , reprezentând cerința ce urmează să fie rezolvată (, sau ). Pe fiecare dintre următoarele linii se află câte o înregistrare, de forma descrisă în enunț.
Date de ieșire
Fișierul de ieșire agenda.out
va conține o singură linie pe care va fi scris răspunsul la cerința specificată în fișierul de intrare. Dacă cerința este , răspunsul este un număr natural reprezentând numărul maxim de activități care s-au suprapus în . Dacă cerința este sau , răspunsul este o durată specificată prin 3 numere naturale separate prin câte un spațiu: Z H M
, reprezentând durata (Z
zile, H
ore și M
minute).
Restricții și precizări
- Numărul de linii din fișierul de intrare nu depășește .
- Lungimea unei linii din fișierul de intrare este cel mult de caractere.
- În fișierul de intrare și în fișierul de ieșire orele sunt cuprinse între și , iar minutele între și .
- Zilele, orele și minutele din datele aflate în fișierul de intrare pot conține zerouri nesemnificative.
- Datele calendaristice, orele și minutele specificate în înregistrări sunt corecte
- Pentru teste valorând de puncte cerința este ; pentru teste valorând de puncte cerința este , respectiv pentru teste valorând de puncte cerința este .
Exemplul 1
agenda.in
1
1 Mai 8.30-1 mai 09.30 Mic dejun la Tiffany’s
28 februarie 8.30- 5 martie 23.59 Concert la Viena
2 ianuarie 9.00 - 2 ianuarie 12.30 Sedinta
agenda.out
5 15 29
Explicație
Cerința este . Sunt activități în agendă. Prima durează oră, a doua durează zile ore și de minute, a treia durează ore și minute.
Exemplul 2
agenda.in
2
1 mai 8.30-1 Mai 13.20 Intalnire cu actionarii
1 mai 13.30- 1 mai 16.0 Audiente
1 mai 13.0-1 mai 15.0 Dejun cu deputatii
1mai14.00-1mai20.00Inspectie
02mai9.00-2 mai 14.00 Intalnire de lucru
30 aprilie 19.00-30 aprilie 22.00 Cina caritabila
agenda.out
3
Explicație
Cerința este . Sunt activități în agendă. Numărul maxim de activități care au loc simultan este (activitățile , , ).
Exemplu 3
agenda.in
3
1 mai 8.30-1 Mai 1 3.20 Intalnire cu actionarii
1 mai 13.30- 1 mai 16.0 Audiente
1 mai 13.0-1 mai 15.0 Dejun cu deputatii
1mai14.0-1mai20.00Inspectie
2mai9.15-2 mai 14.0 Intalnire de lucru
30 aprilie 19. 00-30 aprilie 22.0 Cina caritabila
agenda.out
0 13 15
Explicație
Cerința este . Sunt activități în agendă. Timp liber există între activitățile și ( ore și minute) și respectiv între activitățile și ( ore și minute).
Perioada de lungime maximă de timp liber este de zile ore și minute.