Un semestre super pesado (versión easy)
Decripción
Carlos está a punto de iniciar un nuevo semestre muy pesado, ya que no sabe cómo organizar su horario semanal entre clases, deportes y su servicio social (que, por cierto, odia).
La semana de Carlos tiene una duración de \(K\) días. Carlos está molesto porque cada día tiene un horario de clases diferente; por lo tanto, debe organizar cada día de una manera peculiar para cumplir sus 500 horas de servicio social en el semestre (20 semanas).
Él no puede dejar de entrenar 2 horas diarias de voleibol, ya que este año va a viajar a otro país a jugar. Tampoco puede hacer más de 5 horas de servicio social por día. El horario que tiene asignado para realizar todas sus actividades es de 7:00 am a 9:00 pm, ya que él viaja diario desde su universidad a su casa una hora y debe dormir sus 6 horas diarias (aunque a veces no duerme por jugar Gears o Halo).
Carlos no quiere seguir haciendo su servicio social en vacaciones, así que siempre busca maximizar su horario de servicio social y quiere saber cuántos días extra tendría que estar haciendo su servicio en vacaciones.
Tarea
Dado \(K\) días por semana y, para cada uno de esos \(K\) días, la hora de inicio y fin de las clases (enteros, formato 24 h), calcula el mínimo número de días extra (vacaciones) que Carlos tendría que asistir para completar las 500 horas de servicio social dadas las restricciones mencionadas.
Dado que Carlos es muy visual, él quiere saber su horario por cada día de la semana. Él siempre prefiere hacer su entrenamiento como la última actividad, ya que no le gusta oler mal nunca y prefiere llegar a su casa y bañarse inmediatamente, el servicio social siempre va a preferir hacerlo antes de clases, si no se puede completar, lo restante lo hace después de clases. Por último, él siempre va a preferir terminar antes todas sus actividades para llegar lo más pronto a su casa para dormir (jugar Gears o Halo).
Entrada
Un entero \(K\) representando los dias de la semana. \(1 \leq K \leq 10^5\)
Despúes \(K\) lineas con dos enteros \(A_i\) y \(B_i\) representando el inicio y termino de clases respectivamente. \(7 \leq A_i < B_i \leq 19\)
Se te asegura que siempre será posible realizar las actividades de clases y entrenamiento.
Salida
Por cada uno de los \(K\) días, imprime una línea con la duración de cada actividad (en horas) seguida de su identificador (\(s\) para servicio, \(c\) para clases, \(e\) para entrenamiento). Respeta el orden cronológico de las actividades. No imprimas actividades que tengan una duración de 0 horas.
Al final, si Carlos completa las 500 horas en el semestre, imprime: "Lo lograste, vacaciones sin servicio social".
De lo contrario, imprime un único entero que represente el número de días extra que debe asistir en vacaciones.
Ejemplo
Entrada
3
10 15
7 15
11 12
Salida
3s 5c 2s 2e
8c 4s 2e
4s 1c 1s 2e
44
Explicación
Día 1: De \(07:00\) a \(10:00\) hay \(3h\) de servicio antes de clase (\(3s\)). Las clases duran \(5h\) (\(5c\)). Como el máximo de servicio es \(5h\), hace las \(2h\) restantes después de clase (\(2s\)). Finalmente entrena \(2h\) (\(2e\)). Termina a las \(19:00\).
Día 2: Las clases duran \(8h\) (\(8c\)) iniciando a las \(07:00\), por lo que no hay servicio antes. De las \(15:00\) a las \(21:00\) solo tiene \(6\) horas libres. Reserva las \(2h\) de entrenamiento al final y el resto lo usa para servicio: \(4h\) de servicio (\(4s\)) y \(2h\) de entrenamiento (\(2e\)).
Día 3: De \(07:00\) a \(11:00\) hace \(4h\) de servicio (\(4s\)). La clase dura \(1h\) (\(1c\)). Inmediatamente después hace la \(1h\) que le falta de servicio (\(1s\)) y termina con sus \(2h\) de entrenamiento (\(2e\)). Finaliza a las \(15:00\).
Cálculo de vacaciones:
Total horas de servicio por semana: \(14\) horas.
Total semestre: \(280\) horas.
Horas faltantes: \(500 - 280 = 220\) horas.
Días extra necesarios: \(44\).
Comments