El despertador de Camilo


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 128M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

El despertador de Camilo tiene dos teclas para ajustar la hora de la alarma despertadora.

La primera de las teclas lleva el símbolo ^ y permite ir variando el salto con que se ajusta la hora. Cada vez que se pulsa esa tecla va cambiando el intervalo de variación en forma cíclica entre un conjunto de valores. Tomando el conjunto (1, 4, 11, 37, 106, 303) de ejemplo, al apretar la tecla ^ se iría pasando del 1 al 4, del 4 al 11 y así consecutivamente, y al llegar al 303 y apretar la tecla pasa nuevamente al 1.

La otra tecla, que lleva el símbolo > hace avanzar al reloj tantos minutos como indique el valor del intervalo de variación determinado previamente por la tecla ^.

Así para el conjunto (1, 4, 11, 37, 106, 303), si la alarma está configurada en la hora 7:30 y Camilo la quiere colocar en la hora 14:43 y el intervalo de variación está en 37. Debe apretar la siguiente secuencia de teclas:

^ pasa a IdeV = 106

> avanza 106 minutos pasando de 7:30 a 9:16

^ pasa a IdeV = 303

> avanza 303 minutos pasando de 9:16 a 14:19

^ pasa a IdeV = 1

> avanza 1 minuto pasando de 14:19 a 14:20

> avanza 1 minuto pasando de 14:20 a 14:21

^ pasa a IdeV = 4

^ pasa a IdeV = 11

> avanza 11 minutos pasando de 14:21 a 14:32

> avanza 11 minutos pasando de 14:32 a 14:43

Tarea

Escriba un programa que:

  • lea desde la hora actual de la alarma, un conjunto de valores para los intervalos de variación, la posición actual del intervalo de variación y la hora a la que Camilo desea colocar la alarma,

  • calcule la mínima secuencia de teclas que Camilo debe apretar para lograr su cometido,

  • escriba el valor de esa cantidad mínima.

Entrada

Línea 1: H_i M_i H_f M_f IdeV cinco enteros separados por espacios en blancos, donde H_i M_i son las horas y minutos de la configuración inicial de la alarma Despertadora, H_f M_f son las horas y minutos de la configuración de la alarma despertadora que Camilo colocó y IdeV es el intervalo de variación en que se halla el reloj al momento de comenzar a operarlo para cambiar la hora de la alarma.

Línea 2: L, cantidad de intervalos de variación.

Línea 3..L+2: en cada una de ellas aparece un intervalo de variación.

Salida

La salida contiene el valor que indica la cantidad mínima de teclas que Camilo debe oprimir para pasar de una hora a la otra.

Ejemplo #1 de Entrada

7 30 14 43 37                  
6
1 
4 
11 
37 
106 
303

Ejemplo #1 de Salida

11

Ejemplo #2 de Entrada

7 30 7 43 106
6
1 
4 
11 
37 
106 
303

Ejemplo #2 de Salida

7

Consideraciones

  • 1 \le L \le 1440.

  • Las horas vienen dadas en el formato de 0 a 23.

  • Los intervalos de variación estarán ordenados de manera ascendente y no se puede repetir ningún intervalo.

  • La suma de dos o más intervalos de variación no excederá los 1440 minutos.

  • Los valores de la hora inicial del despertador pueden ser menores o mayores que los valores de la hora final.


Comments


  • -1
    rales  commented on Feb. 20, 2024, 1:36 p.m.

    easy


  • 1
    Osvaldo23  commented on Oct. 9, 2022, 9:55 p.m.

    Hay un grupo de cuestiones que me gustaría que me aclaren

    1. Se puede ajustar la hora excediendo la hora concebida,ejemplo Hora actual:12:30 hora de ajuste 3:30,mi pregunta es si se pudiera ajustar el reloj sobrepasando ese valor llegando a el cuando recurra,por ejemplo avanzar de 1000 minutos en mil,se llegaría a esa hora por el ciclo
      1. A que se refieren con la 3era consideración,que sumando todos los intervalos nunca se llega a dicha hora 3.me garantizan que pueda siempre ajustarlo hasta esa hora