Codeforces Round 673 (Div. 2) |
---|
Закончено |
У RedDreamer есть массив $$$a$$$, состоящий из $$$n$$$ неотрицательных целых чисел. Также у RedDreamer есть свое несчастливое число — $$$T$$$.
Обозначим неудачливость массива $$$b$$$ длины $$$m$$$ как $$$f(b)$$$ — количество пар целых чисел $$$(i, j)$$$, в которых $$$1 \le i < j \le m$$$ и $$$b_i + b_j = T$$$. RedDreamer должен покрасить каждый элемент массива $$$a$$$ в один из двух цветов — белый или черный (цвет каждого элемента выбирается независимо от остальных элементов), а после этого создать два массива $$$c$$$ и $$$d$$$ таким образом, что все белые элементы принадлежат $$$c$$$, а все черные — $$$d$$$ (возможно, что один из этих массивов окажется пустым). RedDreamer хочет покрасить массив так, чтобы значение $$$f(c) + f(d)$$$ было минимально возможным.
Например:
Помогите RedDreamer раскрасить массив оптимальным образом!
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов тестовых данных. Затем следуют $$$t$$$ наборов тестовых данных.
Первая строка набора содержит два целых числа $$$n$$$ и $$$T$$$ ($$$1 \le n \le 10^5$$$, $$$0 \le T \le 10^9$$$) — длина массива и несчастливое число, соответственно.
Вторая строка набора содержит $$$n$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$0 \le a_i \le 10^9$$$) — элементы массива.
Гарантируется, что сумма $$$n$$$ по всем наборам тестовых данных не превосходит $$$10^5$$$.
Для каждого набора тестовых данных выведите $$$n$$$ целых чисел: $$$p_1$$$, $$$p_2$$$, ..., $$$p_n$$$ ($$$p_i$$$ равняется либо $$$0$$$, либо $$$1$$$), описывающих раскраску. Если $$$p_i$$$ равняется $$$0$$$, то элемент $$$a_i$$$ — белый и принадлежит массиву $$$c$$$, в противном случае он — черный и принадлежит массиву $$$d$$$.
Если существует несколько ответов, при которых достигается минимальное значение $$$f(c) + f(d)$$$, выведите любой из них.
2 6 7 1 2 3 4 5 6 3 6 3 3 3
1 0 0 1 1 0 1 0 0
Название |
---|