import java.io.BufferedOutputStream ;
import java.io.BufferedReader ;
import java.io.IOException ;
import java.io.InputStreamReader ;
import java.util.ArrayList ;
import java.util.Calendar ;
import java.util.Collections ;
public class Main {
ArrayList< Calendar> citas = new ArrayList< Calendar> ( ) ;
ArrayList< String> citasString = new ArrayList< String> ( ) ;
int i, numCitas, horas, minutos, posicion;
long segundos;
int contador = 0 ;
String linea
= entrada.
readLine ( ) ; while ( linea != null ) {
contador++;
numCitas
= Integer .
parseInt ( linea
) ; hora.set ( 2001 , 10 , 1 , 10 , 0 ) ;
citas.add ( hora) ;
citasString.add ( "10:00" ) ;
hora.set ( 2001 , 10 , 1 , 18 , 0 ) ;
citas.add ( hora) ;
citasString.add ( "18:00" ) ;
for ( i = 0 ; i < numCitas; i++ ) {
datos1 = entrada.readLine ( ) .split ( " " ) ;
datos2 = datos1[ 0 ] .split ( ":" ) ;
horas
= Integer .
parseInt ( datos2
[ 0 ] ) ; minutos
= Integer .
parseInt ( datos2
[ 1 ] ) ; hora.set ( 2001 , 10 , 1 , horas, minutos) ;
citas.add ( hora) ;
citasString.add ( datos1[ 0 ] ) ;
datos2 = datos1[ 1 ] .split ( ":" ) ;
horas
= Integer .
parseInt ( datos2
[ 0 ] ) ; minutos
= Integer .
parseInt ( datos2
[ 1 ] ) ; hora.set ( 2001 , 10 , 1 , horas, minutos) ;
citas.add ( hora) ;
citasString.add ( datos1[ 1 ] ) ;
}
segundos = 0 ;
posicion = 0 ;
for ( i = 0 ; i < citas.size ( ) ; i = i + 2 ) {
if ( citas.get ( i + 1 ) .getTimeInMillis ( ) - citas.get ( i) .getTimeInMillis ( ) > segundos) {
posicion = i;
segundos = citas.get ( i + 1 ) .getTimeInMillis ( ) - citas.get ( i) .getTimeInMillis ( ) ;
}
}
segundos = segundos / 1000 ;
minutos = ( int ) ( segundos / 60 ) ;
if ( minutos < 60 ) {
salida.write ( ( "Day #" + contador + ": the longest nap starts at " + citasString.get ( posicion) + " and will last for " + minutos + " minutes.\n " ) .getBytes ( ) ) ;
} else {
horas = minutos / 60 ;
minutos = minutos % 60 ;
salida.write ( ( "Day #" + contador + ": the longest nap starts at " + citasString.get ( posicion) + " and will last for " + horas + " hours and " + minutos + " minutes.\n " ) .getBytes ( ) ) ;
}
citas.clear ( ) ;
citasString.clear ( ) ;
linea = entrada.readLine ( ) ;
}
salida.flush ( ) ;
salida.close ( ) ;
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkUmVhZGVyOwppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwppbXBvcnQgamF2YS51dGlsLkNhbGVuZGFyOwppbXBvcnQgamF2YS51dGlsLkNvbGxlY3Rpb25zOwogCnB1YmxpYyBjbGFzcyBNYWluIHsKIAogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKIAogICAgICAgIEJ1ZmZlcmVkUmVhZGVyIGVudHJhZGEgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgIEJ1ZmZlcmVkT3V0cHV0U3RyZWFtIHNhbGlkYSA9IG5ldyBCdWZmZXJlZE91dHB1dFN0cmVhbShTeXN0ZW0ub3V0KTsKICAgICAgICBBcnJheUxpc3Q8Q2FsZW5kYXI+IGNpdGFzID0gbmV3IEFycmF5TGlzdDxDYWxlbmRhcj4oKTsKICAgICAgICBBcnJheUxpc3Q8U3RyaW5nPiBjaXRhc1N0cmluZyA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwogICAgICAgIFN0cmluZ1tdIGRhdG9zMSwgZGF0b3MyOwogICAgICAgIENhbGVuZGFyIGhvcmE7CiAgICAgICAgaW50IGksIG51bUNpdGFzLCBob3JhcywgbWludXRvcywgcG9zaWNpb247CiAgICAgICAgbG9uZyBzZWd1bmRvczsKICAgICAgICBpbnQgY29udGFkb3IgPSAwOwogICAgICAgIFN0cmluZyBsaW5lYSA9IGVudHJhZGEucmVhZExpbmUoKTsKICAgICAgICB3aGlsZSAobGluZWEgIT0gbnVsbCkgewogICAgICAgICAgICBjb250YWRvcisrOwogICAgICAgICAgICBudW1DaXRhcyA9IEludGVnZXIucGFyc2VJbnQobGluZWEpOwogICAgICAgICAgICBob3JhID0gQ2FsZW5kYXIuZ2V0SW5zdGFuY2UoKTsKICAgICAgICAgICAgaG9yYS5zZXQoMjAwMSwgMTAsIDEsIDEwLCAwKTsKICAgICAgICAgICAgY2l0YXMuYWRkKGhvcmEpOwogICAgICAgICAgICBjaXRhc1N0cmluZy5hZGQoIjEwOjAwIik7CiAgICAgICAgICAgIGhvcmEgPSBDYWxlbmRhci5nZXRJbnN0YW5jZSgpOwogICAgICAgICAgICBob3JhLnNldCgyMDAxLCAxMCwgMSwgMTgsIDApOwogICAgICAgICAgICBjaXRhcy5hZGQoaG9yYSk7CiAgICAgICAgICAgIGNpdGFzU3RyaW5nLmFkZCgiMTg6MDAiKTsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bUNpdGFzOyBpKyspIHsKICAgICAgICAgICAgICAgIGRhdG9zMSA9IGVudHJhZGEucmVhZExpbmUoKS5zcGxpdCgiICIpOwogICAgICAgICAgICAgICAgZGF0b3MyID0gZGF0b3MxWzBdLnNwbGl0KCI6Iik7CiAgICAgICAgICAgICAgICBob3JhcyA9IEludGVnZXIucGFyc2VJbnQoZGF0b3MyWzBdKTsKICAgICAgICAgICAgICAgIG1pbnV0b3MgPSBJbnRlZ2VyLnBhcnNlSW50KGRhdG9zMlsxXSk7CiAgICAgICAgICAgICAgICBob3JhID0gQ2FsZW5kYXIuZ2V0SW5zdGFuY2UoKTsKICAgICAgICAgICAgICAgIGhvcmEuc2V0KDIwMDEsIDEwLCAxLCBob3JhcywgbWludXRvcyk7CiAgICAgICAgICAgICAgICBjaXRhcy5hZGQoaG9yYSk7CiAgICAgICAgICAgICAgICBjaXRhc1N0cmluZy5hZGQoZGF0b3MxWzBdKTsKICAgICAgICAgICAgICAgIGRhdG9zMiA9IGRhdG9zMVsxXS5zcGxpdCgiOiIpOwogICAgICAgICAgICAgICAgaG9yYXMgPSBJbnRlZ2VyLnBhcnNlSW50KGRhdG9zMlswXSk7CiAgICAgICAgICAgICAgICBtaW51dG9zID0gSW50ZWdlci5wYXJzZUludChkYXRvczJbMV0pOwogICAgICAgICAgICAgICAgaG9yYSA9IENhbGVuZGFyLmdldEluc3RhbmNlKCk7CiAgICAgICAgICAgICAgICBob3JhLnNldCgyMDAxLCAxMCwgMSwgaG9yYXMsIG1pbnV0b3MpOwogICAgICAgICAgICAgICAgY2l0YXMuYWRkKGhvcmEpOwogICAgICAgICAgICAgICAgY2l0YXNTdHJpbmcuYWRkKGRhdG9zMVsxXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgQ29sbGVjdGlvbnMuc29ydChjaXRhcyk7CiAgICAgICAgICAgIENvbGxlY3Rpb25zLnNvcnQoY2l0YXNTdHJpbmcpOwogICAgICAgICAgICBzZWd1bmRvcyA9IDA7CiAgICAgICAgICAgIHBvc2ljaW9uID0gMDsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNpdGFzLnNpemUoKTsgaSA9IGkgKyAyKSB7CiAgICAgICAgICAgICAgICBpZiAoY2l0YXMuZ2V0KGkgKyAxKS5nZXRUaW1lSW5NaWxsaXMoKSAtIGNpdGFzLmdldChpKS5nZXRUaW1lSW5NaWxsaXMoKSA+IHNlZ3VuZG9zKSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaWNpb24gPSBpOwogICAgICAgICAgICAgICAgICAgIHNlZ3VuZG9zID0gY2l0YXMuZ2V0KGkgKyAxKS5nZXRUaW1lSW5NaWxsaXMoKSAtIGNpdGFzLmdldChpKS5nZXRUaW1lSW5NaWxsaXMoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzZWd1bmRvcyA9IHNlZ3VuZG9zIC8gMTAwMDsKICAgICAgICAgICAgbWludXRvcyA9IChpbnQpIChzZWd1bmRvcyAvIDYwKTsKICAgICAgICAgICAgaWYgKG1pbnV0b3MgPCA2MCkgewogICAgICAgICAgICAgICAgc2FsaWRhLndyaXRlKCgiRGF5ICMiICsgY29udGFkb3IgKyAiOiB0aGUgbG9uZ2VzdCBuYXAgc3RhcnRzIGF0ICIgKyBjaXRhc1N0cmluZy5nZXQocG9zaWNpb24pICsgIiBhbmQgd2lsbCBsYXN0IGZvciAiICsgbWludXRvcyArICIgbWludXRlcy5cbiIpLmdldEJ5dGVzKCkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaG9yYXMgPSBtaW51dG9zIC8gNjA7CiAgICAgICAgICAgICAgICBtaW51dG9zID0gbWludXRvcyAlIDYwOwogICAgICAgICAgICAgICAgc2FsaWRhLndyaXRlKCgiRGF5ICMiICsgY29udGFkb3IgKyAiOiB0aGUgbG9uZ2VzdCBuYXAgc3RhcnRzIGF0ICIgKyBjaXRhc1N0cmluZy5nZXQocG9zaWNpb24pICsgIiBhbmQgd2lsbCBsYXN0IGZvciAiICsgaG9yYXMgKyAiIGhvdXJzIGFuZCAiICsgbWludXRvcyArICIgbWludXRlcy5cbiIpLmdldEJ5dGVzKCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNpdGFzLmNsZWFyKCk7CiAgICAgICAgICAgIGNpdGFzU3RyaW5nLmNsZWFyKCk7CiAgICAgICAgICAgIGxpbmVhID0gZW50cmFkYS5yZWFkTGluZSgpOwogICAgICAgIH0KICAgICAgICBzYWxpZGEuZmx1c2goKTsKICAgICAgICBzYWxpZGEuY2xvc2UoKTsKICAgIH0KfQ==
stdin
NAoxMDowMCAxMjowMCBMZWN0dXJlcwoxMjowMCAxMzowMCBMdW5jaCwgbGlrZSBhbHdheXMuCjEzOjAwIDE1OjAwIEJvcmluZyBsZWN0dXJlcy4uLgoxNTozMCAxNzo0NSBSZWFkaW5nCjQKMTA6MDAgMTI6MDAgTGVjdHVyZXMKMTI6MDAgMTM6MDAgTHVuY2gsIGp1c3QgbHVuY2guCjEzOjAwIDE1OjAwIExlY3R1cmVzLCBsZWN0dXJlcy4uLiBvaCwgbm8hCjE2OjQ1IDE3OjQ1IFJlYWRpbmcgKHRvIGJlIG9yIG5vdCB0byBiZT8pCjQKMTA6MDAgMTI6MDAgTGVjdHVyZXMsIGFzIGV2ZXJ5ZGF5LgoxMjowMCAxMzowMCBMdW5jaCwgYWdhaW4hISEKMTM6MDAgMTU6MDAgTGVjdHVyZXMsIG1vcmUgbGVjdHVyZXMhCjE1OjMwIDE3OjE1IFJlYWRpbmcgKEkgbG92ZSByZWFkaW5nLCBidXQgc2hvdWxkIEkgc2NoZWR1bGUgaXQ/KQoxCjEyOjAwIDEzOjAwIEkgbG92ZSBsdW5jaCEgSGF2ZSB5b3UgZXZlciBub3RpY2VkIGl0PyA6KQ==
4
10:00 12:00 Lectures
12:00 13:00 Lunch, like always.
13:00 15:00 Boring lectures...
15:30 17:45 Reading
4
10:00 12:00 Lectures
12:00 13:00 Lunch, just lunch.
13:00 15:00 Lectures, lectures... oh, no!
16:45 17:45 Reading (to be or not to be?)
4
10:00 12:00 Lectures, as everyday.
12:00 13:00 Lunch, again!!!
13:00 15:00 Lectures, more lectures!
15:30 17:15 Reading (I love reading, but should I schedule it?)
1
12:00 13:00 I love lunch! Have you ever noticed it? :)