Ctrl K

Вершины на виду

Средняя
На панораме у ровного горизонта (ось x) стоят горы. Гора i задана вершиной peaks[i] = [x, y]: это равнобедренный треугольник с прямым углом при вершине, оба склона идут под 45°, а основание лежит на оси x — от x - y до x + y. Вершина горы видна, если она не лежит внутри другой горы и не касается её склона. Совпадающие горы закрывают друг друга. Верните, сколько вершин видно.
Пример 1
peaks=[[3, 3], [9, 3], [8, 1]] → 2

Склон горы (9, 3) при x = 8 на высоте 2, это выше вершины (8, 1) — она закрыта. Горы (3, 3) и (9, 3) друг друга не закрывают. Видны 2 вершины.

Пример 2
peaks=[[4, 2], [4, 2], [10, 1]] → 1

Две одинаковые горы закрывают друг друга, видна только (10, 1).

Пример 3
peaks=[[2, 1], [5, 4]] → 1

Склон горы (5, 4) при x = 2 на высоте 1 — вершина (2, 1) лежит прямо на нём и считается закрытой.

Ограничения
  • 1 ≤ len(peaks) ≤ 10⁵
  • peaks[i] = [x, y]
  • 1 ≤ x, y ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПерестроить середину шеренги СредняяБольше всего кусков для сортировки СредняяКолонны на финише СредняяУступающие герои СредняяСамый длинный спад от края до края Средняя
загружаем Python…
Вход
peaks=[[3, 3], [9, 3], [8, 1]]
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 132 теста на сервере, включая скрытые.