rows рядов, пронумерованных от 1, и в каждом ряду 10 мест с номерами от 1 до 10. Проходы идут между местами 3 и 4 и между местами 7 и 8.
Список taken содержит уже проданные места: пара [r, s] означает, что в ряду r занято место s.
Компания из четырёх человек хочет сидеть рядом: на четырёх соседних местах одного ряда. Места по разные стороны прохода соседними не считаются — с одним исключением: компания может сесть так, чтобы проход делил её ровно пополам, по двое с каждой стороны.
Верните, сколько компаний можно рассадить максимум.rows=2, taken=[[1, 5], [2, 3], [2, 9]] → 2
В ряду 1 занято место 5, поэтому левая половина и середина недоступны, но места 6–9 свободны — одна компания. В ряду 2 заняты 3 и 9, остаются только места 4–7 между проходами — ещё одна. Итого 2.
rows=3, taken=[[2, 1], [2, 10]] → 6
Крайние места 1 и 10 компаниям не мешают: в каждом из трёх рядов садятся по две компании, всего 6.
rows=1, taken=[[1, 4], [1, 7]] → 0
Занятые места 4 и 7 перекрывают все три возможных блока — ни одной компании.
rows ≤ 10⁹rows, 10⁴)taken[i] = [r, s], 1 ≤ r ≤ rows, 1 ≤ s ≤ 10taken различныrows=2, taken=[[1, 5], [2, 3], [2, 9]]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 77 тестов на сервере, включая скрытые.