Контест Middle Коллекции спрашивают часто обновлено

Сколько пар дают сумму k

Условие

Дан массив из n целых чисел и число k. Посчитайте количество пар индексов i < j, для которых a[i] + a[j] = k.

Ввод: в первой строке n и k (1 ≤ n ≤ 7000, |k| ≤ 10⁹), во второй n чисел, по модулю не больше 10⁹.

Вывод: одно число (может не поместиться в 32 бита).

Пример

5 6
1 5 3 3 7
2

Как подойти

Подсказки: 2
  1. Для каждого элемента ищите k - x среди уже просмотренных.
  2. Храните не множество, а счётчики: значения повторяются.

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

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