Рахунок
Дано послідовність з 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).