heights длины n. Для каждой ширины w от 1 до n рассмотрите все отрезки массива (подряд идущие элементы) длины w, у каждого возьмите минимум и из этих минимумов выберите наибольший.
Верните массив длины n, где на позиции w - 1 стоит ответ для ширины w.
Прямой перебор работает за O(n²) — попробуйте уложиться в O(n).heights=[3, 1, 4, 2] → [4, 2, 1, 1]
Ширина 1: лучший минимум 4. Ширина 2: окна [3,1], [1,4], [4,2] дают 1, 1, 2 — лучший 2. Ширина 3 и 4: в любое окно попадает 1.
heights=[5, 6, 6, 5] → [6, 6, 5, 5]
Окно [6, 6] даёт минимум 6 при ширине 2, а при ширине 3 любое окно уже содержит 5.
heights=[3, 1, 4, 2]
[4, 2, 1, 1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 142 теста на сервере, включая скрытые.