QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 256 MB Total points: 100

#23854. Впорядкування м'яких іграшок

Statistics

Умова задачі

Один зі співробітників JOI працює в магазині іграшок. Сьогодні йому доручили навести лад у куточку м'яких іграшок.

На полиці в куточку м'яких іграшок в один ряд зліва направо виставлено $N$ м'яких іграшок. Полиця розділена перегородками на $N$ секцій, і в $1$ секцію ставиться $1$ м'яка іграшка. Загалом у цьому магазині продається $M$ видів м'яких іграшок, пронумерованих від $1$ до $M$ відповідно. Кожна з $N$ виставлених на полиці іграшок належить до одного з цих $M$ видів. Крім того, іграшка кожного виду є принаймні в $1$ екземплярі.

Щоб полиця мала гарний вигляд, іграшки хочутьفرереставити так, щоб усі м'які іграшки одного виду стояли на полиці поспіль. Переставляти іграшки вирішили таким чином:

  • Вибрати декілька з $N$ м'яких іграшок і зняти їх із полиці. Позиції іграшок, які не знімали, не змінюються.
  • Повернути зняті м'які іграшки у вільні секції полиці в довільному порядку.

Після перестановки всі м'які іграшки одного виду повинні стояти на полиці поспіль. Напишіть програму, яка знайде мінімальну кількість м'яких іграшок, які потрібно зняти з полиці для такої перестановки.

Вхідні дані

Вхідні дані складаються з $1 + N$ рядків.

У рядку $1$ через пробіл записано $2$ цілі числа $N, M$ ($1 \le N \le 100000$, $1 \le M \le 20$), які означають, що всього є $N$ м'яких іграшок і $M$ видів.

У кожному з наступних $N$ рядків записано ціле число від $1$ до $M$ включно. Число, записане в $i$-му рядку ($1 \le i \le N$) серед цих $N$ рядків, позначає вид м'якої іграшки, що стоїть в $i$-й зліва секції полиці. Гарантується, що для кожного виду існує принаймні $1$ м'яка іграшка.

Вихідні дані

Виведіть в $1$ рядку мінімальну кількість м'яких іграшок, які потрібно зняти для перестановки.

Приклади вводу та виводу

Приклад вводу 1

7 2
1
2
2
2
1
2
1

Приклад виводу 1

2

Приклад вводу 2

12 4
1
3
2
4
2
1
2
3
1
1
3
4

Приклад виводу 2

7

У прикладі вводу 1 види початково розставлених м'яких іграшок зліва направо дорівнюють $1, 2, 2, 2, 1, 2, 1$. Щоб мінімізувати кількість м'яких іграшок, які знімають для перестановки, достатньо зняти $1$-шу та $6$-ту іграшки зліва, після чого поставити на $1$-ше місце зліва іграшку виду $2$, а на $6$-те місце зліва — іграшку виду $1$. При цьому кількість знятих іграшок дорівнює $2$.

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.