strokes[i] = [start, end, color] означает, что полуинтервал [start, end) (точка start входит, end — нет) покрыт краской номер color. Все номера красок различны.
Там, где мазки перекрываются, краски смешиваются, и цвет участка — это набор всех красок, лежащих на нём. Вместо самого набора будем записывать сумму номеров красок в нём.
Опишите готовую ленту минимальным числом непересекающихся полуинтервалов [left, right, mix], где mix — сумма номеров красок на [left, right). Соседние участки нельзя склеивать, если наборы красок на них разные, даже когда суммы совпадают. Непокрашенные места в ответ не включайте.
Полуинтервалы можно вернуть в любом порядке.strokes=[[2, 6, 4], [4, 9, 10]] → [[2, 4, 4], [4, 6, 14], [6, 9, 10]]
На [2, 4) лежит только краска 4, на [4, 6) смешались 4 и 10 (сумма 14), на [6, 9) осталась только 10.
strokes=[[1, 3, 7], [5, 8, 2]] → [[1, 3, 7], [5, 8, 2]]
Между 3 и 5 краски нет, этот кусок в ответ не попадает.
strokes=[[1, 5, 3], [1, 5, 8], [5, 9, 11]] → [[1, 5, 11], [5, 9, 11]]
У обоих кусков сумма 11, но наборы красок разные ({3, 8} и {11}), поэтому склеивать их в один [1, 9) нельзя.
color различныstrokes=[[2, 6, 4], [4, 9, 10]]
[[2, 4, 4], [4, 6, 14], [6, 9, 10]]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 84 теста на сервере, включая скрытые.