Universal Cup Judging System

Universal Cup

Time Limit: 6.0 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

Професор Чень, видатний фахівець з обчислювальної палеографії, провів багато років, вивчаючи манускрипти династії Ненадлишковості. Писарі тієї епохи дотримувалися своєрідної естетичної доктрини: вони вірили, що текст втрачає свою духовну силу, якщо містить «луни».

У цьому контексті анаграмною луною називаються будь-які два різні фрагменти тексту, які, хоч і не обов'язково збігаються за порядком символів, містять точно ті самі символи в точно таких самих кількостях. Для тексту, поданого у вигляді послідовності символів, луна існує, якщо знайдуться дві різні початкові позиції $x$ та $y$, такі що підмасив довжини $l$, який починається в позиції $x$, є перестановкою підмасиву довжини $l$, який починається в позиції $y$. Наприклад, розглянемо послідовність $[1, 2, 1, 1, 3, 1, 2, 1]$. Фрагмент довжини $4$, що починається з другої позиції, $[2, 1, 1, 3]$, і фрагмент довжини $4$, що починається з п'ятої позиції, $[3, 1, 2, 1]$, утворюють анаграмну луну.

Професор Чень розкопав кілька таких сувоїв, але багато символів з часом вицвіли, залишивши пропуски (позначені як $0$). Ваше завдання — заповнити ці пропуски символами з дозволеної множини $\{1, 2, \dots, k\}$ так, щоб підсумковий показник дисонансу (Dissonance Score) сувою був мінімальним. Показник дисонансу — це максимальна довжина $l$ будь-якої анаграмної луни, присутньої у відновленій послідовності.

Вхідні дані

Є декілька наборів вхідних даних. Перший рядок містить ціле число $T$ ($1 \le T \le 10^4$), що вказує на кількість наборів вхідних даних. Для кожного набору:

Перший рядок містить два цілі числа $n$ і $k$ ($2 \le n \le 2 \times 10^5$, $1 \le k \le n$).

Другий рядок містить $n$ цілих чисел $a_1, a_2, \dots, a_n$ ($0 \le a_i \le k$).

Гарантується, що сума $n$ за всіма наборами вхідних даних не перевищує $2 \times 10^5$.

Вихідні дані

Для кожного набору вхідних даних виведіть $n$ цілих чисел $b_1, b_2, \dots, b_n$ ($1 \le b_i \le k$), що представляють відновлену послідовність. Послідовність $b$ повинна збігатися з $a$ в усіх позиціях, де $a_i \neq 0$, і досягати мінімально можливого показника дисонансу.

Якщо існує декілька способів оптимально відновити сувій, професор Чень прийме будь-який із них.

Приклад

Вхідні дані

4
8 3
0 1 0 2 1 3 0 2
3 3
1 0 2
9 7
0 1 1 0 5 0 4 0 7
6 6
0 0 0 0 0 0

Вихідні дані

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

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.