Sol y Luna en Nochebuena


Submit solution

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Descripción

Es Nochebuena y el invierno ha llegado con fuerza. La nieve cubre las calles y el sol apenas aparece entre las nubes. Sol y Luna, dos perritas salchicha muy friolentas, pasan el día acurrucadas esperando un poco de calor. Carlos, su dueño, quiere cuidarlas durante toda la Navidad: sabe exactamente en qué momentos del día hará más frío, cuándo habrá algo de calorcito y cuál será la temperatura en cada instante.

Cada perrita tiene su propia sensación térmica:

  • Siente FRÍO si la temperatura \(T \leq A\).
  • Siente CALOR si la temperatura \(T \geq B\).
  • Está BIEN si \(A < T < B\).

Carlos decide cuándo ponerles la cobija navideña y cuándo quitársela. Tu tarea es simular estos momentos y ayudar a Carlos a organizar un reporte cronológico y un resumen ordenado por prioridad de frío.

Entrada

Primero se te dará un número entero \(N\) — el número de momentos del día: \(1 \leq N \leq 1,440\).

La segunda línea contiene dos enteros \(AS\) y \(BS\) — los umbrales de frío y calor de Sol. La tercera línea contiene dos enteros \(AL\) y \(BL\) — los umbrales de frío y calor de Luna.

Las siguientes \(n\) líneas describen cada momento:

  • \(T_i\) — Un entero representando la temperatura.

Límites: \(-5 \leq AS, BS, AL, BL, T_i \leq 26\). Se garantiza \(A < B\) para ambas perritas.

Salida

Debes imprimir dos bloques de mensajes:

Bloque 1: Crónica de Nochebuena

\(N\) líneas describiendo el evento ocurrido en cada momento \(i\) (del \(1\) al \(N\)).

  1. Si alguna siente frío: Si solo una siente frío se imprime el mensaje, si las dos sienten frio se elige a la perrita con umbral \(A\) más cercano a \(T_i\). Si hay empate, la de menor umbral \(A\). Si persiste, Sol. Mensaje: <Nombre> necesita cobija, faltaron X grados para no tener frio donde \(X = A + 1 - T_i\).
  2. Si ninguna siente frío, pero alguna siente calor: Si solo una siente calor se imprime el mensaje, si las dos sienten calor se elige a la de umbral \(B\) más cercano a \(T_i\). Si hay empate, la de menor umbral \(B\). Si persiste, Sol. Mensaje: <Nombre> tuvo calor, faltaron X grados para no tener calor donde \(X = T_i - (B - 1)\).
  3. Si ambas están bien:
    • Si está más cerca del frío: ESTAN BIEN, pero casi tuvieron frio (faltaron X grados).
    • Si está más cerca del calor: ESTAN BIEN, pero casi tuvieron calor (faltaron X grados).
    • Si la distancia al frío y al calor es igual: ESTAN BIEN, clima perfecto.
    • Para calcular \(X\), Carlos toma la distancia más pequeña hacia el frío (entre Sol y Luna) y la distancia más pequeña hacia el calor (entre Sol y Luna). El valor de \(X\) será la menor de estas dos distancias resultantes.
    • Matemáticamente:\[X = \min(\min(T_i - AS, T_i - AL), \min(BS - T_i, BL - T_i))\]
Bloque 2: Resumen junto a la Chimenea

Imprime los mismos eventos del Bloque 1, pero ordenados bajo estos criterios:

  1. Temperatura \(T_i\) de menor a mayor.
  2. Tipo de sensación: Frío < Bien < Calor.
  3. Sujeto: Sol < Luna < Ninguna.
  4. Orden original de aparición.

Cada línea debe iniciar con el índice original: i <Mensaje>.

Importante: estas reglas reflejan que Carlos revisa primero los momentos más helados, luego los tranquilos y al final los más calurosos, dando siempre prioridad a Sol si hay cualquier empate.

Ejemplo

Entrada
4
4 13
6 13
13
-1
8
9
Salida
Sol tuvo calor, faltaron 1 grados para no tener calor
Sol necesita cobija, faltaron 6 grados para no tener frio
ESTAN BIEN, pero casi tuvieron frio (faltaron 2 grados)
ESTAN BIEN, pero casi tuvieron frio (faltaron 3 grados)

2 Sol necesita cobija, faltaron 6 grados para no tener frio
3 ESTAN BIEN, pero casi tuvieron frio (faltaron 2 grados)
4 ESTAN BIEN, pero casi tuvieron frio (faltaron 3 grados)
1 Sol tuvo calor, faltaron 1 grados para no tener calor

Comments


  • 0
    Kaarlarax  commented on Dec. 27, 2025, 10:26 p.m.

    )


  • 0
    Kaarlarax  commented on Dec. 26, 2025, 3:54 a.m.

    Te amo Solecito y Lunaaaaa. <3