bits из нулей и единиц. Разрежьте его на три непустых куска подряд так, чтобы каждый кусок, прочитанный как двоичное число (старший разряд слева), давал одно и то же значение.
Кусок читается целиком: [1, 1, 0] — это 6, а не 3. Ведущие нули допустимы: [0, 1, 1] и [1, 1] оба равны 3.
Верните пару [i, j], где первый кусок — bits[0..i], второй — bits[i+1..j-1], третий — bits[j..] (так что i + 1 < j). Если разрезать так нельзя, верните [-1, -1].
Если в массиве есть хотя бы одна единица, подходящий разрез, если он существует, единственный. Если массив состоит из одних нулей, годится любой разрез — верните [0, len(bits) - 1].bits=[0, 1, 1, 0, 1, 1, 0, 1, 1] → [2, 6]
Части [0, 1, 1], [0, 1, 1] и [0, 1, 1] — каждая равна 3. Первая кончается на индексе 2, третья начинается с индекса 6.
bits=[1, 0, 0, 1, 0] → [-1, -1]
Единиц две — поровну на три части их не разделить.
bits=[1, 0, 1, 0, 0, 1, 0] → [1, 4]
[1, 0], [1, 0] и [0, 1, 0] — все равны 2. Ноль на индексе 3 можно отдать только третьей части как ведущий: во второй он стал бы лишним младшим разрядом и удвоил бы её.
bits[i] равно 0 или 1bits=[0, 1, 1, 0, 1, 1, 0, 1, 1]
[2, 6]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 102 теста на сервере, включая скрытые.