Контест Middle Два указателя спрашивают часто обновлено

Различные тройки с нулевой суммой

Условие

Дан массив целых чисел. Посчитайте, сколько существует различных по значениям троек (x, y, z), x ≤ y ≤ z, таких что x + y + z = 0 и их можно составить из элементов массива с разными индексами.

Например, в массиве -1 0 1 2 -1 -4 такие тройки (-1, -1, 2) и (-1, 0, 1), ответ 2.

Ввод: в первой строке n (1 ≤ n ≤ 2000), во второй n чисел (|aᵢ| ≤ 2500).

Вывод: число различных троек.

Пример 1

Ввод:

6
-1 0 1 2 -1 -4

Вывод:

2

Пример 2

Ввод:

3
0 0 0

Вывод:

1

Как подойти

Подсказки: 2
  1. Отсортируйте массив и зафиксируйте первый элемент тройки.
  2. Пропускайте одинаковые значения, иначе одна тройка посчитается несколько раз.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.