heights в точках через равные промежутки. Соседние высоты всегда различаются.
Вершиной называется точка, которая строго выше обеих соседних. За краями профиля считается бесконечный обрыв, так что крайней точке достаточно быть выше своего единственного соседа.
Гарантируется, что вершина на тропе ровно одна: тропа сначала только поднимается, затем только спускается (любой из участков может быть пустым). Верните индекс вершины (с нуля).
Линейный проход очевиден — найдите вершину за O(log n).heights=[120, 340, 515, 470, 90] → 2
Тропа поднимается до отметки 515 и дальше только спускается. Вершина — индекс 2.
heights=[900, 650, -20] → 0
Тропа с самого начала идёт вниз, поэтому выше всех — первая точка, индекс 0: за краем профиля всё считается ниже.
heights=[-5, 1, 8, 30] → 3
heights=[120, 340, 515, 470, 90]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 42 теста на сервере, включая скрытые.