Количество пар с суммой K в отсортированном массиве

Просмотр в формате PDF

Submit solution


Очки: 130
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Флорист ведёт каталог длин стеблей цветов. Длины записаны в неубывающем порядке: a_1 <= a_2 <= ... <= a_n.

Нужно определить, сколькими способами можно выбрать два разных цветка так, чтобы суммарная длина их стеблей была ровно K.

Требуется посчитать количество пар индексов (i, j) таких, что 1 <= i < j <= n и a_i + a_j = K.

Входные данные

В первой строке заданы два целых числа n и K — количество цветов в каталоге и требуемая суммарная длина стеблей.

Во второй строке заданы n целых чисел a_i — длины стеблей цветов, записанные в неубывающем порядке.

Выходные данные

Выведите одно целое число — количество пар индексов (i, j) (i < j), для которых сумма a_i + a_j равна K.

Ограничения

  • 1 <= n <= 2 * 10^5
  • -2 * 10^9 <= K <= 2 * 10^9
  • -10^9 <= a_i <= 10^9
  • массив a отсортирован в неубывающем порядке

Примеры

Пример 1

Входные данные

5 6
1 2 3 4 5

Выходные данные

2
Пример 2

Входные данные

5 4
2 2 2 2 2

Выходные данные

10

Комментарии

Еще нет ни одного комментария.