Ctrl K

Тройки по нарастающей или по убывающей

Средняя
В ряд стоят участники, у каждого свой рейтинг scores[i], все рейтинги различны. Тренер собирает тройки: берёт троих участников на позициях i < j < k (порядок в ряду сохраняется). Тройка годится, если рейтинги в ней строго растут (scores[i] < scores[j] < scores[k]) или строго убывают (scores[i] > scores[j] > scores[k]). Верните количество годных троек. Один участник может входить в несколько троек.
Пример 1
scores=[5, 1, 4, 2, 6] → 3

Строго растут тройки (1, 4, 6) и (1, 2, 6), строго убывает (5, 4, 2). Всего 3.

Пример 2
scores=[6, 5, 4, 3] → 4

Любые три участника идут по убыванию, а выбрать трёх из четырёх можно 4 способами.

Пример 3
scores=[1, 3, 2] → 0
Ограничения
  • 3 ≤ len(scores) ≤ 1000
  • 1 ≤ scores[i] ≤ 10⁵
  • Все значения scores различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько самых длинных возрастающих СредняяРастущая цепочка мелкими шагами СложнаяСумма квадратов разнообразия СложнаяКрутая подпоследовательность с наибольшей суммой СложнаяОчередь по записям о росте Средняя
загружаем Python…
Вход
scores=[5, 1, 4, 2, 6]
Ожидается
3

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