fork(4) download
  1. import java.io.BufferedOutputStream;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;
  6. import java.util.Calendar;
  7. import java.util.Collections;
  8.  
  9. public class Main {
  10.  
  11. public static void main(String[] args) throws IOException {
  12.  
  13. ArrayList<Calendar> citas = new ArrayList<Calendar>();
  14. ArrayList<String> citasString = new ArrayList<String>();
  15. String[] datos1, datos2;
  16. Calendar hora;
  17. int i, numCitas, horas, minutos, posicion;
  18. long segundos;
  19. int contador = 0;
  20. String linea = entrada.readLine();
  21. while (linea != null) {
  22. contador++;
  23. numCitas = Integer.parseInt(linea);
  24. hora = Calendar.getInstance();
  25. hora.set(2001, 10, 1, 10, 0);
  26. citas.add(hora);
  27. citasString.add("10:00");
  28. hora = Calendar.getInstance();
  29. hora.set(2001, 10, 1, 18, 0);
  30. citas.add(hora);
  31. citasString.add("18:00");
  32. for (i = 0; i < numCitas; i++) {
  33. datos1 = entrada.readLine().split(" ");
  34. datos2 = datos1[0].split(":");
  35. horas = Integer.parseInt(datos2[0]);
  36. minutos = Integer.parseInt(datos2[1]);
  37. hora = Calendar.getInstance();
  38. hora.set(2001, 10, 1, horas, minutos);
  39. citas.add(hora);
  40. citasString.add(datos1[0]);
  41. datos2 = datos1[1].split(":");
  42. horas = Integer.parseInt(datos2[0]);
  43. minutos = Integer.parseInt(datos2[1]);
  44. hora = Calendar.getInstance();
  45. hora.set(2001, 10, 1, horas, minutos);
  46. citas.add(hora);
  47. citasString.add(datos1[1]);
  48. }
  49. Collections.sort(citas);
  50. Collections.sort(citasString);
  51. segundos = 0;
  52. posicion = 0;
  53. for (i = 0; i < citas.size(); i = i + 2) {
  54. if (citas.get(i + 1).getTimeInMillis() - citas.get(i).getTimeInMillis() > segundos) {
  55. posicion = i;
  56. segundos = citas.get(i + 1).getTimeInMillis() - citas.get(i).getTimeInMillis();
  57. }
  58. }
  59. segundos = segundos / 1000;
  60. minutos = (int) (segundos / 60);
  61. if (minutos < 60) {
  62. salida.write(("Day #" + contador + ": the longest nap starts at " + citasString.get(posicion) + " and will last for " + minutos + " minutes.\n").getBytes());
  63. } else {
  64. horas = minutos / 60;
  65. minutos = minutos % 60;
  66. salida.write(("Day #" + contador + ": the longest nap starts at " + citasString.get(posicion) + " and will last for " + horas + " hours and " + minutos + " minutes.\n").getBytes());
  67. }
  68. citas.clear();
  69. citasString.clear();
  70. linea = entrada.readLine();
  71. }
  72. salida.flush();
  73. salida.close();
  74. }
  75. }
Success #stdin #stdout 0.13s 380864KB
stdin
102
14:10 17:30 Lectures101
12:00 12:01 Lectures1
12:01 12:02 Lectures2
12:02 12:03 Lectures3
12:03 12:04 Lectures4
12:04 12:05 Lectures5
12:05 12:06 Lectures6
12:06 12:07 Lectures7
12:07 12:08 Lectures8
12:08 12:09 Lectures9
12:09 12:10 Lectures10
12:10 12:11 Lectures11
12:11 12:12 Lectures12
12:12 12:13 Lectures13
12:13 12:14 Lectures14
12:14 12:15 Lectures15
12:15 12:16 Lectures16
12:16 12:17 Lectures17
12:17 12:18 Lectures18
12:18 12:19 Lectures19
12:19 12:20 Lectures20
12:20 12:21 Lectures21
12:21 12:22 Lectures22
12:22 12:23 Lectures23
12:23 12:24 Lectures24
12:24 12:25 Lectures25
12:25 12:26 Lectures26
12:26 12:27 Lectures27
12:27 12:28 Lectures28
12:28 12:29 Lectures29
12:29 12:30 Lectures30
12:30 12:31 Lectures31
12:31 12:32 Lectures32
12:32 12:33 Lectures33
12:33 12:34 Lectures34
12:34 12:35 Lectures35
12:35 12:36 Lectures36
12:36 12:37 Lectures37
12:37 12:38 Lectures38
12:38 12:39 Lectures39
12:39 12:40 Lectures40
12:40 12:41 Lectures41
12:41 12:42 Lectures42
12:42 12:43 Lectures43
12:43 12:44 Lectures44
12:44 12:45 Lectures45
12:45 12:46 Lectures46
12:46 12:47 Lectures47
12:47 12:48 Lectures48
12:48 12:49 Lectures49
12:49 12:50 Lectures50
12:50 12:51 Lectures51
12:51 12:52 Lectures52
12:52 12:53 Lectures53
12:53 12:54 Lectures54
12:54 12:55 Lectures55
12:55 12:56 Lectures56
12:56 12:57 Lectures57
12:57 12:58 Lectures58
12:58 12:59 Lectures59
12:59 13:00 Lectures60
13:00 13:01 Lectures61
13:01 13:02 Lectures62
13:02 13:03 Lectures63
13:03 13:04 Lectures64
13:04 13:05 Lectures65
13:05 13:06 Lectures66
13:06 13:07 Lectures67
13:07 13:08 Lectures68
13:08 13:09 Lectures69
13:09 13:10 Lectures70
13:10 13:11 Lectures71
13:11 13:12 Lectures72
13:12 13:13 Lectures73
13:13 13:14 Lectures74
13:14 13:15 Lectures75
13:15 13:16 Lectures76
13:16 13:17 Lectures77
13:17 13:18 Lectures78
13:18 13:19 Lectures79
13:19 13:20 Lectures80
13:20 13:21 Lectures81
13:21 13:22 Lectures82
13:22 13:23 Lectures83
13:23 13:24 Lectures84
13:24 13:25 Lectures85
13:25 13:26 Lectures86
13:26 13:27 Lectures87
13:27 13:28 Lectures88
13:28 13:29 Lectures89
13:29 13:30 Lectures90
13:30 13:31 Lectures91
13:31 13:32 Lectures92
13:32 13:33 Lectures93
13:33 13:34 Lectures94
13:34 13:35 Lectures95
13:35 13:36 Lectures96
13:36 13:37 Lectures97
13:37 13:38 Lectures98
13:38 13:39 Lectures99
13:39 13:40 Lectures100
10:29 11:30 Lectures102
stdout
Day #1: the longest nap starts at 17:30 and will last for 29 minutes.