QOJ.ac

QOJ

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

#23854. Porządkowanie pluszaków

Statistics

Treść zadania

Pewna osoba związana z JOI pracuje w sklepie z zabawkami. Dzisiaj przypadło jej zadanie uporządkowania kącika z pluszakami w sklepie.

Na półce w kąciku z pluszakami ustawiono w jednym rzędzie od lewej do prawej $N$ pluszaków. Półka jest podzielona przegrodami na $N$ przegródek i w $1$ przegródce umieszcza się $1$ pluszaka. Sklep ten sprzedaje łącznie $M$ rodzajów pluszaków, ponumerowanych odpowiednio od $1$ do $M$. Każdy z $N$ pluszaków ustawionych na półce należy do jednego z tych $M$ rodzajów. Ponadto istnieje co najmniej $1$ pluszak każdego rodzaju.

Aby półka ładnie wyglądała, chcemy przestawić pluszaki tak, by wszystkie pluszaki tego samego rodzaju stały na półce obok siebie w sposób ciągły. Postanowiono przestawić pluszaki w następujący sposób:

  • Wybieramy pewną liczbę spośród $N$ pluszaków i zdejmujemy je z półki. Nie zmieniamy pozycji pluszaków, które nie zostały zdjęte.
  • Zdjęte pluszaki odkładamy w dowolnej kolejności na wolne przegródki półki.

Po przestawieniu wszystkie pluszaki tego samego rodzaju muszą stać na półce w jednym spójnym fragmencie. Napisz program, który wyznaczy minimalną liczbę pluszaków, jakie trzeba zdjąć z półki, aby je uporządkować.

Wejście

Wejście składa się z $1 + N$ wierszy.

W wierszu $1$ zapisane są oddzielone spacją $2$ liczby całkowite $N, M$ ($1 \le N \le 100000$, $1 \le M \le 20$), oznaczające, że pluszaków jest $N$, a ich rodzajów jest $M$.

W każdym z kolejnych $N$ wierszy zapisana jest liczba całkowita od $1$ do $M$ włącznie. Liczba całkowita zapisana w $i$-tym wierszu ($1 \le i \le N$) spośród tych $N$ wierszy oznacza rodzaj pluszaka umieszczonego w $i$-tej przegródce od lewej strony półki. Gwarantuje się, że dla każdego rodzaju istnieje co najmniej $1$ pluszak.

Wyjście

Wypisz w $1$ wierszu minimalną liczbę pluszaków, które należy zdjąć w celu uporządkowania półki.

Przykłady wejścia i wyjścia

Przykład wejścia 1

7 2
1
2
2
2
1
2
1

Przykład wyjścia 1

2

Przykład wejścia 2

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

Przykład wyjścia 2

7

W przykładzie wejścia 1 rodzaje pluszaków ustawionych początkowo to, kolejno od lewej: $1, 2, 2, 2, 1, 2, 1$. Aby zminimalizować liczbę pluszaków zdejmowanych w celu przestawienia, wystarczy zdjąć $1$-szego i $6$-tego pluszaka od lewej, a następnie na $1$-szym miejscu od lewej umieścić pluszaka rodzaju $2$, zaś na $6$-tym miejscu od lewej umieścić pluszaka rodzaju $1$. Wówczas liczba zdjętych pluszaków wynosi $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.