Техника двух указателей
Лучшая команда
Сегодня собрались n программистов. Каждый программист имеет рейтинг, показывающий его силу. Рейтинг - это целое число от 0 до 10^9
. Ваш рейтинг как программиста равен m. Со всех собранных сегодня программистов Вы хотите выбрать двух в свою команду. Их следует выбрать так, чтобы сумма их рейтингов была максимальной, однако чтобы эта сумма не превосходила Ваш рейтинг, поскольку Вы хотите быть главой этой команды.
Входные данные
В первой строке заданы два целых числа: n (2 ≤ n ≤ 10^5
) - количество программистов и m (0 ≤ m ≤ 10^9
) - Ваш рейтинг. Во второй строке записаны n целых чисел r[1]
, r[2]
, ... ,r[n]
(0 ≤ r[i]
≤ 10^9
) - рейтинги программистов.
Выходные данные
Выведите одно целое число - сумму рейтингов выбранных программистов или -1 если таких двух человек найти невозможно.
Пример
5 8 5 3 4 6 5
8
7 19 8 4 25 1 20 5 12
17
4 76 38 41 39 40
-1