QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 512 MB Puntuación total: 100

#836. Granja de monstruos

Estadísticas

Hay $n$ monstruos, y el $i$-ésimo monstruo tiene inicialmente $h_i$ puntos de salud.

Llamamos a un monstruo vivo si sus HP son estrictamente mayores que cero.

Tú tienes un poder de ataque de $a$, y tu oponente tiene un poder de ataque de $b$.

Mientras al menos un monstruo siga vivo, tú y tu oponente se turnan para luchar contra los monstruos (comenzando por ti).

Eres muy inteligente, así que en tu turno puedes atacar a cualquier monstruo que esté vivo o no hacer nada. Si eliges atacar a algún monstruo $i$, la salud del monstruo, $h_i$, disminuirá exactamente en $a$.

Después de tu ataque, si el monstruo muere (ya no está vivo), obtienes un punto de victoria.

Tu oponente, por otro lado, no es tan inteligente. Durante su turno, encuentra al monstruo con el índice más pequeño que esté vivo y lo ataca (es decir, encuentra el $i$ más pequeño tal que $h_i > 0$ y disminuye $h_i$ exactamente en $b$).

¿Cuál es el mayor número de puntos de victoria que puedes obtener?

Entrada

La primera línea contiene tres enteros $n, a, b$ ($1 \le n \le 300\,000$, $1 \le a, b \le 10^9$): el número de monstruos y los poderes de ataque tuyo y de tu oponente, respectivamente.

La segunda línea contiene $n$ enteros $h_1, h_2, \dots, h_n$ ($1 \le h_i \le 10^9$): los puntos de salud de los monstruos.

Salida

Imprime un solo entero: el mayor número de puntos de victoria que puedes obtener.

Ejemplos

Entrada 1

3 1 1
1 1 1

Salida 1

2

Entrada 2

3 1 1
2 2 2

Salida 2

3

Entrada 3

10 34 100
17 27 73 17 60 12 25 53 31 46

Salida 3

5

Nota

En el primer ejemplo, en tu primer turno, puedes matar al tercer monstruo, y en tu segundo turno, puedes matar al segundo monstruo.

En el segundo ejemplo, puedes esperar hasta que el monstruo más a la izquierda tenga $h_i = 1$, y luego matarlo tú mismo.

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.