Ctrl K

Три слагаемых и сумма после них

Лёгкая
Дан массив положительных чисел values. Посчитайте, сколько существует четвёрок индексов a < b < c < d, для которых values[a] + values[b] + values[c] == values[d]. Иначе говоря, три элемента слева в сумме дают какой-то элемент, стоящий правее всех трёх. Разные наборы индексов считаются разными четвёрками, даже если значения совпадают.
Пример 1
values=[2, 4, 1, 7] → 1

2 + 4 + 1 = 7 — единственная подходящая четвёрка индексов (0, 1, 2, 3).

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

1 + 2 + 1 = 4, и четвёрку можно взять любую из двух: (0, 1, 2, 3) и (0, 1, 2, 4). Других троек с суммой 4 нет.

Пример 3
values=[9, 1, 1, 1] → 0

Последний элемент обязан стоять правее трёх слагаемых, а 9 + 1 + 1 ≠ 1.

Ограничения
  • 4 ≤ len(values) ≤ 50
  • 1 ≤ values[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧётные числа из карточек с цифрами ЛёгкаяТройки с равным шагом ЛёгкаяНаименьшее число из двух наборов цифр ЛёгкаяЧётные коды из карточек ЛёгкаяРавные разрезы после одной замены Сложная
загружаем Python…
Вход
values=[2, 4, 1, 7]
Ожидается
1

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