QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#16893. Juego de cartas de aventura

통계

El juego de cartas de aventura por turnos "Juego de atrapar monstruos con cartas" (título original: 『대충 카드로 몬스터 잡는 게임』), desarrollado por la compañía de juegos global KDH Corp., ¡finalmente ha sido lanzado hoy! A continuación se presentan las reglas del juego:

  • El jugador comienza el juego con una carta de cada tipo, numeradas del 1 al $K$, en su mano.
  • El juego consta de un total de $N$ turnos, y en cada turno aparece como máximo un monstruo de entre los tipos numerados del 1 al $K$.
  • En cada turno, el jugador puede jugar hasta 2 cartas de las que tiene en su mano. También es posible pasar el turno sin jugar ninguna carta.
  • Si en el turno en el que aparece un monstruo el jugador juega una carta con el mismo número que el monstruo, puede derrotarlo usando esa carta.
  • Si un monstruo que aparece en un turno no es derrotado en ese mismo turno, el monstruo escapa después de que el turno termina.
  • Una vez que el jugador ha agotado todas las cartas de su mano, al finalizar el turno, vuelve a tomar una carta de cada tipo, del 1 al $K$, en su mano.
  • Cuantos más monstruos se derroten, mayor será la puntuación obtenida.

Dohun, un experto jugador, alcanzó el primer lugar apenas se lanzó el juego, ¡pero su rival Kangmin está amenazando su posición! Ansioso, Dohun quiere registrar la puntuación máxima posible para evitar que le arrebaten el primer lugar. Ayuda a Dohun a calcular el número máximo de monstruos que se pueden derrotar en cada juego para que pueda asegurar su primer puesto.

Entrada

La primera línea contiene el número total de turnos $N$ y el tipo de cartas y monstruos $K$, separados por un espacio ($1 \le N, K \le 500\,000$). La segunda línea contiene los tipos de monstruos $c_1, c_2, \dots, c_N$ que aparecen en cada turno, separados por espacios ($0 \le c_i \le K$). Si $c_i = 0$, significa que no aparece ningún monstruo en el turno $i$.

Salida

Imprime el valor máximo de monstruos que se pueden derrotar.

Ejemplos

Entrada 1

6 4
1 1 2 2 3 3

Salida 1

5

Entrada 2

10 5
1 2 2 0 3 3 0 5 4 4

Salida 2

7

Nota

En el primer ejemplo, si se juegan las cartas en el siguiente orden en cada turno, se pueden derrotar todos los monstruos excepto el monstruo número 1 que aparece en el turno 2:

i. Se juegan la carta 1 y la carta 3 para derrotar al monstruo 1. ii. Se juega la carta 4. El monstruo 1 no es derrotado y escapa. iii. Se juega la carta 2 para derrotar al monstruo 2. Como se han jugado las cuatro cartas, al finalizar el turno se vuelven a tomar las cartas en la mano. iv. Se juegan la carta 1 y la carta 2 para derrotar al monstruo 2. v. Se juegan la carta 3 y la carta 4 para derrotar al monstruo 3. Como se han jugado las cuatro cartas, al finalizar el turno se vuelven a tomar las cartas en la mano. vi. Se juega la carta 3 para derrotar al monstruo 3.

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.