QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#16893. Приключенческая карточная игра

Statistiques

Всемирно известная игровая компания KDH Corp. наконец выпустила пошаговую приключенческую карточную игру «Игра про убийство монстров картами». Ниже приведены правила игры:

  • Игрок начинает игру, имея на руках по одной карте каждого типа от $1$ до $K$.
  • Игра состоит из $N$ ходов. В каждом ходу появляется не более одного монстра из числа монстров с номерами от $1$ до $K$.
  • В каждый ход игрок может разыграть не более двух карт из тех, что у него на руках. Также можно пропустить ход, не разыгрывая ни одной карты.
  • Если в ход, когда появился монстр, игрок разыгрывает карту с тем же номером, что и у монстра, он побеждает этого монстра.
  • Если монстр, появившийся в текущем ходу, не был побежден, он убегает после завершения хода.
  • Как только игрок использует все карты, имеющиеся у него на руках, после завершения хода он снова берет по одной карте каждого типа от $1$ до $K$.
  • Чем больше монстров побеждено, тем выше итоговый счет.

Дохун, мастер игры, занял первое место сразу после выхода игры, но его соперник Канмин угрожает его лидерству! Встревоженный Дохун хочет заранее набрать максимально возможный счет, чтобы не потерять первое место. Помогите Дохуну определить максимальное количество монстров, которое можно победить в игре.

Входные данные

В первой строке через пробел заданы общее количество ходов $N$ и количество типов карт и монстров $K$ ($1 \le N, K \le 500\,000$). Во второй строке через пробел заданы типы монстров $c_1, c_2, \dots, c_N$, появляющихся в каждом ходу ($0 \le c_i \le K$). Если $c_i = 0$, это означает, что в ходу $i$ монстр не появился.

Выходные данные

Выведите максимальное количество монстров, которых можно победить.

Примеры

Примеры 1

6 4
1 1 2 2 3 3
5

Примеры 2

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

Примечание

В первом примере можно победить всех монстров, кроме монстра №1, появившегося на 2-м ходу, если разыгрывать карты в следующем порядке:

i. Разыграть карту 1 и карту 3, победить монстра 1. ii. Разыграть карту 4. Монстр 1 не побежден и убегает. iii. Разыграть карту 2, победить монстра 2. Все четыре карты были использованы, поэтому после завершения хода игрок снова берет все карты на руку. iv. Разыграть карту 1 и карту 2, победить монстра 2. v. Разыграть карту 3 и карту 4, победить монстра 3. Все четыре карты были использованы, поэтому после завершения хода игрок снова берет все карты на руку. vi. Разыграть карту 3, победить монстра 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.