Счёт
Дана последовательность из n целых чисел: a[1]
, a[2]
, ..., a[n]
. Также дано целое число v. Мы рассматриваем пары (a[i]
, a[j]
) элементов из данной последовательности, такие что i < j.
Напишите программу, которая находит такую пару, сумма (a[i]
+ a[j]
) которой наиболее близка (или равна) значению v, и выводит количество всех таких пар с суммами (a[i]
+ a[j]
), которые одинаково близки к значению v.
Ввод
На первой строке стандартного ввода записано значение n.На второй строке записаны значения a[1]
, a[2]
, ..., a[n]
, разделенные пробелом.На третьей строке записано значение v.
Вывод
На стандартный вывод ваша программа должна вывести одно целое число, равное искомому количеству пар.
Ограничения
1
<n
≤10^6
;−10^4
≤a[i]
≤10^4
(1 ≤ i ≤ n)−10^4
≤v
≤10^4
.
Объяснение для первого примера
Значение v = 12 не может быть получено как сумма элементов некоторых рассматриваемых пар. Но 13 может, например, 2 + 11 = 13. Таким образом, расстояние между v = 12 и 13 равно 1. Существуют и другие пары элементов, сумма которых находится на расстоянии 1 от v = 12.Это: 2 + 9 = 11, 2 + 9 = 11, 5 + 8 = 13. Общее количество пар с суммой 11 или 13 равно 4.Обратите внимание, что пара (2, 9) учитывается дважды, потому что в данной последовательности есть две разные пары элементов, хотя и с одинаковыми значениями (2, 9).