Описание задачи
Дана трасса с точками высот (дистанция, высота). Выбрать старт и финиш так, чтобы:
- Высота старта ≥ Высота финиша.
- Максимизировать разницу высот (спуск).
- При одинаковом спуске — максимизировать длину маршрута.
Пример
Track
0: 210
5: 300
14: 320
20: 270
Analysis
320 -> 270 (descent 50, len 6)
300 -> 270 (descent 30, len 15)
Max descent is 50.
Алгоритм (O(N))
Можно использовать подход, похожий на поиск пары с максимальной разностью (как покупка/продажа акций), но здесь нужно учитывать и длину.