QOJ.ac

QOJ

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

#17674. Znaki NM

Statistics

Busy Beaver tworzy nowy język na swoje zajęcia z lingwistyki! Postanowił już, że jego język będzie miał alfabet, którego literami są liczby całkowite $1, \dots, NM$ w tej kolejności; teraz chce stworzyć kilka słów dla tego języka.

Ponieważ Busy Beaver interesuje się statystyką, chce kontrolować częstość występowania liter w słowach, dlatego wybrał multizbiór $a$ o rozmiarze $NM$ składający się z liter jego alfabetu. Teraz utworzy $N$ słów, każde o długości $M$, w taki sposób, aby każda litera z $a$ została użyta dokładnie raz (tzn. jeśli dana litera $x$ występuje dokładnie $k$ razy w $a$, to jest używana dokładnie $k$ razy we wszystkich $N$ słowach łącznie).

Po utworzeniu słów, Busy Beaver planuje uporządkować je w słownik, więc posortuje leksykograficznie swoje $N$ słów, aby otrzymać ciąg słów $s_1, \dots, s_N$. Busy Beaver lubi, gdy ciągi znaków są leksykograficznie małe, więc dla każdego $k$ od $1$ do $N$ chce poznać leksykograficznie najmniejszą możliwą wartość $s_k$ przy wszystkich możliwych wyborach słów.

Zauważ, że odpowiedź dla każdego $s_k$ jest niezależna; na przykład wybór słów tak, aby zminimalizować $s_1$, może być inny niż wybór słów tak, aby zminimalizować $s_2$.

Wejście

Pierwsza linia zawiera dwie liczby całkowite dodatnie $N, M$ ($1 \le NM \le 10^6$).

Druga linia zawiera $NM$ liczb całkowitych $a_1, \dots, a_{NM}$ tworzących multizbiór $a$ ($1 \le a_j \le NM$).

Wyjście

Dla każdego $k$ od $1$ do $N$ wypisz w osobnej linii minimalną możliwą wartość $s_k$ jako ciąg liczb całkowitych oddzielonych spacjami.

Przykład

Wejście 1

4 3
1 1 2 2 3 3 4 4 5 5 6 6

Wyjście 1

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

Wejście 2

3 4
12 4 4 4 1 1 4 4 6 4 1 4

Wyjście 2

1 1 1 4
1 4 4 4
1 4 4 12

Wejście 3

4 5
12 7 17 3 6 11 9 2 17 7 1 6 9 12 6 3 9 12 2 15

Wyjście 3

1 2 2 3 3
2 2 3 3 6
2 3 6 7 7
3 3 6 6 6

Wejście 4

1 1
1

Wyjście 4

1

Uwagi

W pierwszym przykładzie następujące wybory słów minimalizują każde $s_k$:

Wybierając słowa 112, 233, 445, 566, otrzymujemy $s = 112, 233, 445, 566$, więc $s_1 = 112$ zgodnie z oczekiwaniami.

Wybierając słowa 123, 456, 123, 456, otrzymujemy $s = 123, 123, 456, 456$, więc $s_2 = 123$ zgodnie z oczekiwaniami.

Wybierając słowa 166, 155, 344, 223, otrzymujemy $s = 155, 166, 223, 344$, więc $s_3 = 223$ zgodnie z oczekiwaniami.

Wybierając słowa 234, 234, 156, 156, otrzymujemy $s = 156, 156, 234, 234$, więc $s_4 = 234$ zgodnie z oczekiwaniami.

Można wykazać, że we wszystkich tych przypadkach nie ma sposobu na wybranie słów tak, aby odpowiednie $s_k$ było jeszcze mniejsze leksykograficznie.

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.