Пари з заданою сумою
Переглянути як PDFВам задано послідовність з ~n~ цілих чисел ~a_1, a_2, \ldots, a_n~ та число ~k~.
Потрібно порахувати кількість пар індексів ~(i, j)~ таких, що ~1 \le i < j \le n~ та ~a_i + a_j = k~.
Зверніть увагу, що пари розрізняються за індексами, а не за значеннями — якщо в масиві є декілька однакових чисел, кожна відповідна пара індексів рахується окремо.
Вхідні дані
- Перший рядок містить два цілих числа ~n~ і ~k~ (~1 \le n \le 2 \cdot 10^5~, ~-10^9 \le k \le 10^9~).
- Другий рядок містить ~n~ цілих чисел ~a_1, a_2, \ldots, a_n~ (~-10^9 \le a_i \le 10^9~).
Вихідні дані
Виведіть одне ціле число — кількість пар ~(i, j)~, для яких ~a_i + a_j = k~.
Гарантується, що відповідь поміщається в 64-бітний цілочисельний тип (long long).
Приклади
Приклад 1
Вхідні дані:
5 6
1 5 3 4 2
Вихідні дані:
2
Пояснення: масив ~a = [1, 5, 3, 4, 2]~. Пари індексів із сумою ~6~: ~(1,2)~, бо ~a_1+a_2=1+5=6~, та ~(4,5)~, бо ~a_4+a_5=4+2=6~. Разом — ~2~ пари.
Приклад 2
Вхідні дані:
6 10
5 5 5 5 5 5
Вихідні дані:
15
Пояснення: усі ~\binom{6}{2}=15~ пар дають суму ~10~.
Приклад 3
Вхідні дані:
1 0
100
Вихідні дані:
0
Коментарі