Universal Cup Judging System

Universal Cup

実行時間制限: 1 s メモリ制限: 1024 MB
統計

VegiCat y VegiDog están jugando un duelo especial en Slay the Spire. VegiCat juega como la Vigilante A, y VegiDog juega como la Vigilante B. A y B tienen poderes de ataque base $a$ y $b$ y valores de salud inicial $h_A$ y $h_B$, respectivamente.

problem_23595_17aa2d8990609c5348c9bf4e9d000ebd.png

Al comienzo de cada ronda, el juego determina la postura de cada Vigilante para esa ronda. Cada Vigilante puede estar en una de las siguientes dos posturas:

  • Normal: el daño infligido y el daño recibido no cambian.
  • Ira (Wrath): tanto el daño infligido como el daño recibido se duplican.

Para cada ataque, el daño es inicialmente igual al poder de ataque base del atacante. Se duplica si el atacante está en Ira y se duplica nuevamente si el defensor está en Ira. Por lo tanto, el daño en cada ronda es el siguiente:

  • Si ambos personajes están en Normal, A inflige $a$ de daño a B, y B inflige $b$ de daño a A.
  • Si exactamente un personaje está en Ira, A inflige $2a$ de daño a B, y B inflige $2b$ de daño a A.
  • Si ambos personajes están en Ira, A inflige $4a$ de daño a B, y B inflige $4b$ de daño a A.

En cada ronda, ambos personajes atacan una vez simultáneamente, y ambos valores de salud disminuyen simultáneamente. Ambos ataques surten efecto incluso si la salud de cualquiera de los personajes llega a $0$ o menos durante la ronda. Al final de la ronda, un personaje con salud menor o igual a $0$ muere. Si alguno de los personajes muere, la batalla termina inmediatamente; de lo contrario, comienza la siguiente ronda. Los poderes de ataque base nunca cambian y la salud nunca se restaura.

Las posturas de cada ronda son determinadas por el juego, no por los jugadores. Cualquier combinación de las posturas de los dos personajes es posible en cada ronda.

VegiCat gana solo si B muere mientras A permanece con vida. Si ambos personajes mueren en la misma ronda, VegiCat no gana. Determina si VegiCat ganará independientemente de cómo cambien las posturas de ambos personajes.

Entrada

La primera línea contiene un entero $T$ ($1 \le T \le 10^5$), el número de casos de prueba. A continuación sigue la descripción de los casos de prueba.

Cada caso de prueba contiene una línea con cuatro enteros $a$, $b$, $h_A$ y $h_B$ ($1 \le a, b, h_A, h_B \le 10^{18}$), que indican los poderes de ataque base y los valores de salud inicial de los personajes, respectivamente.

Salida

Para cada caso de prueba, imprime YES si VegiCat ganará independientemente de cómo cambien las posturas de ambos personajes, y NO en caso contrario. Imprime cada respuesta en una línea separada.

Puedes imprimir la respuesta en mayúsculas o minúsculas. Por ejemplo, yEs, yes, Yes y YES se aceptan como respuestas positivas.

Ejemplos

Entrada 1

5
1 1 5 1
1 1 4 1
1 1 1 1
1 1 1 5
2 3 13 2

Salida 1

YES
NO
NO
NO
YES

Entrada 2

4
3 2 18 13
3 2 16 13
3 2 9 13
3 2 17 13

Salida 2

YES
NO
NO
YES

Nota

En el primer caso de prueba del primer ejemplo, B siempre muere en la primera ronda. A recibe como máximo $4$ de daño en esa ronda y permanece con vida.

En el segundo caso de prueba del primer ejemplo, A gana si ambos personajes están en postura normal en la primera ronda. Si ambos personajes están en Ira en la primera ronda, ambos mueren. Por lo tanto, la respuesta es NO.

En el segundo caso de prueba del segundo ejemplo, si ambos personajes están en postura normal durante las primeras $4$ rondas, sus valores de salud restantes son $8$ y $1$. Si ambos entran en Ira en la ronda $5$, ambos mueren, por lo que la victoria no está garantizada.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.