QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#3577. Mansur kontra Tima

Statistics

Tima wrócił z podróży do Xorland i przywiózł tablicę $n$ liczb całkowitych. Xorland to mały kraj znany z jedzenia, muzyki i gier na tablicach. Osobliwością gier w Xorland jest brak zwycięzcy: zawsze wygrywa przyjaźń! Jedną z takich gier jest „Xor-Mat”.

Zasady „Xor-Mat” są proste. Dwaj gracze przed rozpoczęciem gry wybierają tablicę $a$ i liczbę całkowitą $k$. Następnie pierwszy gracz koloruje każdą liczbę w tablicy jednym z $k$ kolorów. Niech $c_i$ będzie kolorem $i$-tej liczby w tablicy, gdy kolory ponumerujemy od $1$ do $k$. Drugi gracz wybiera następnie parę indeksów $(i,j)$ taką, że $i \ne j$ i $c_i=c_j$.

Celem pierwszego gracza jest zmaksymalizowanie $a_i \oplus a_j$, natomiast drugi gracz próbuje zminimalizować $a_i \oplus a_j$. Symbol $\oplus$ oznacza bitową operację „XOR”.

Mansur wyzwał Timę na grę w „Xor-Mat”. Grają na tablicy Timy. Mansur jest pierwszym graczem, a Tima drugim. Wypisz wartość $a_i \oplus a_j$, gdy obaj gracze grają optymalnie. Znajdź również optymalne kolorowanie tablicy, które może wybrać Mansur.

Wejście

Pierwszy wiersz zawiera jedną liczbę całkowitą $t$ ($1 \le t \le 5 \cdot 10^4$) — liczbę przypadków testowych.

Następnie występuje $2 \cdot t$ wierszy według poniższego schematu:

Pierwszy wiersz każdego przypadku testowego zawiera dwie liczby całkowite $n$ ($2 \le n \le 5 \cdot 10^4$) i $k$ ($1 \le k \le \min(n-1,50)$).

Drugi wiersz każdego przypadku testowego zawiera $n$ liczb całkowitych $a_1,a_2,\ldots,a_n$ ($1 \le a_i \le 10^9$) — tablicę Timy.

Gwarantuje się, że suma $n$ we wszystkich przypadkach testowych nie przekracza $5 \cdot 10^4$.

Wyjście

Dla każdego przypadku testowego z wejścia wypisz dwa wiersze:

  • W pierwszym wierszu wypisz wartość $a_i \oplus a_j$, gdy obaj gracze grają optymalnie.
  • W drugim wierszu wypisz $n$ liczb całkowitych $c_1,c_2,\ldots,c_n$ ($1 \le c_i \le k$), gdzie $c_i$ jest kolorem wybranym przez Mansura dla $i$-tej liczby w tablicy. Jeśli istnieje więcej niż jeden sposób optymalnego pokolorowania tablicy, wypisz dowolny z nich.

Podzadania

Niech $S$ będzie sumą $n$ we wszystkich przypadkach testowych.

Podzadanie Dodatkowe ograniczenia Punkty Wymagane podzadania
0 Przykład 0 —
1 $S \le 10$, $k \le 5$ 6 0
2 $S \le 50000$, $k=1$ 10
3 $S \le 1000$, $k \le 2$ 10 —
4 $S \le 50000$, $k \le 2$ 20 2, 3
5 $S \le 50000$, $k \le 4$ 22 1, 4
6 — 32 5

Przykład

Wejście 1

2
3 1
1 2 3
3 2
1 2 3

Wyjście 1

1
1 1 1
3
1 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.