Codeforces Round 908 (Div. 1) |
---|
Закончено |
У вас есть $$$n$$$ цветных кубиков, $$$i$$$-й кубик имеет цвет $$$a_i$$$.
Вам надо разложить все кубики по полкам. Всего есть $$$m$$$ полок, $$$i$$$-я из которых вмещает $$$s_i$$$ кубиков. Также, $$$s_1 + s_2 + \ldots + s_m = n$$$.
Допустим, на полке размера $$$k$$$ лежат, в этом порядке, кубики цветов $$$c_1, c_2, \ldots, c_k$$$. Тогда определим разноцветность полки как минимальное расстояние между двумя разными кубиками одного цвета, лежащими на полке, а если все кубики на полке имеют различные цвета, то разноцветность считается равной размеру полки, то есть числу $$$k$$$.
Более формально, разноцветность $$$c_1, c_2, \ldots, c_k$$$ определяется следующим образом:
Для каждой полки вам задана минимальная необходимая разноцветность, то есть вам даны числа $$$d_1, d_2, \ldots, d_m$$$, означающие, что необходимо, чтобы полка $$$i$$$ имела разноцветность $$$\geq d_i$$$ для всех $$$i$$$.
Распределите имеющиеся кубики по полкам, чтобы обеспечить необходимую разноцветность, или сообщите, что это невозможно.
Каждый тест состоят из нескольких наборов входных данных. Первая строка содержит целое число $$$t$$$ $$$(1 \leq t \leq 10^4)$$$ — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит целые числа $$$n, m$$$ $$$(1 \leq m \leq n \leq 2 \cdot 10^5)$$$ — количество кубиков и количество полок, на которые их надо разложить.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ $$$(1 \leq a_i \leq n)$$$ — цвета кубиков.
Третья строка каждого набора входных данных содержит $$$m$$$ целых чисел $$$s_1, s_2, \ldots, s_m$$$ $$$(1 \leq s_i \leq n)$$$ — размеры полок. Гарантируется, что $$$s_1 + \ldots + s_m = n$$$.
Четвёртая строка каждого набора входных данных содержит $$$m$$$ целых чисел $$$d_1, d_2, \ldots, d_m$$$ $$$(1 \leq d_i \leq s_i)$$$ — минимальные необходимые разноцветности полок.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$-1$$$, если невозможно распределить кубики по полкам, выполнив все требования. Иначе, выведите $$$m$$$ строк, $$$i$$$-я из которых содержит $$$s_i$$$ чисел — цвета кубиков, лежащих на $$$i$$$-й полке, в подходящем порядке.
610 31 1 1 1 2 2 2 3 3 46 2 24 1 18 27 7 7 7 8 8 8 84 42 25 15 4 3 2 1537 31 2 2 2 2 3 41 2 41 2 412 76 6 6 6 6 6 6 6 6 7 8 92 2 2 2 2 1 11 2 2 2 1 1 120 211 20 15 6 8 18 12 16 8 20 10 12 3 12 20 11 15 8 17 178 123 5
1 3 4 2 1 3 1 1 2 2 8 7 8 7 8 7 8 7 2 4 5 3 1 -1 6 6 7 6 8 6 9 6 6 6 6 6 12 17 20 15 8 20 16 11 15 20 17 12 10 8 3 18 12 11 8 6
Название |
---|