Ctrl K

Тройки палочек для треугольника

Средняя
В коробке лежат палочки, их длины записаны в массив sticks. Сколько существует способов выбрать три палочки (три разных позиции массива), из которых можно сложить треугольник? Треугольник складывается, если сумма любых двух длин строго больше третьей. Палочки одинаковой длины на разных позициях считаются разными, поэтому одинаковые по длинам тройки могут учитываться несколько раз.
Пример 1
sticks=[3, 5, 5, 9] → 2

Подходят тройки (3, 5, 5) и (5, 5, 9). Две тройки (3, 5, 9) — по одной с каждой пятёркой — не подходят: 3 + 5 < 9.

Пример 2
sticks=[2, 2, 2, 2] → 4

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

Пример 3
sticks=[1, 2, 3] → 0

1 + 2 = 3 — такой треугольник вырожден, он не считается.

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

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