| Hello 2026 |
|---|
| Закончено |
Это сложная версия задачи. Отличие между версиями заключается в том, что в этой версии ограничение на число 1 в финальной строке более строгое. Вы можете делать взломы только в том случае, если решили все версии этой задачи.
Вам дана бинарная строка $$$s_1s_2\ldots s_n$$$, содержащая только символы 0 и 1. Вы можете выполнить $$$\lfloor\frac{n}{2}\rfloor$$$ операций. На $$$x$$$-й операции вы можете выполнить следующее:
Ваша задача состоит в том, чтобы найти серию операций, чтобы количество оставшихся 1 в бинарной строке было не более $$$7$$$. Можно показать, что при данных ограничениях в задаче это всегда возможно.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$3 \leq n \leq 2\cdot 10^6$$$).
Вторая строка каждого набора входных данных содержит бинарную строку $$$s_1s_2\ldots s_n$$$ ($$$s_i \in \{0,1\}$$$).
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2\cdot 10^6$$$.
Для каждого набора входных данных выведите строку из $$$\lfloor\frac{n}{2}\rfloor$$$ чисел: выбранные $$$l$$$ для операций $$$1,2,\ldots,\lfloor\frac{n}{2}\rfloor (0 \leq l_x \leq n-x)$$$. Вы должны гарантировать, что после всех операций в строке останется не более $$$7$$$ символов 1.
Если существует несколько решений, выведите любое из них.
6300041101511101911111111110111111101115110011101010100
0 1 1 1 3 6 2 0 2 1 0 0 0 0 13 6 8 5 2 8 1
В четвертом наборе входных данных:
| Название |
|---|


