B. Board Game
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Студенты Иннополиса придумали новую настольную игру. Игра кооперативная, то есть игроки должны играть вместе, чтобы добиться определенной цели. Одной из фаз игры является распределение ресурсов.

Игра рассчитана ровно на $$$n$$$ игроков, и на фазе распределения ресурсов между игроками по кругу распределяются $$$n$$$ карточек с целыми числами, упорядоченными по неубыванию. Пусть $$$i$$$-му игроку досталось число $$$a_i$$$ (тогда $$$a_i \le a_{i+1}$$$ для всех $$$i \le n - 1$$$). Назовем опциями $$$i$$$-го игрока тройку чисел $$$\{a_{i-1}, a_i, a_{i+1}\}$$$, то есть число, написанное на его карточке, и два числа его соседей. Игроки сидят по кругу, то есть для первого игрока вместо $$$a_{i-1}$$$ будет опция $$$a_n$$$, а для $$$n$$$-го игрока вместо $$$a_{i+1}$$$ будет опция $$$a_1$$$.

Каждый игрок должен выбрать ровно одну из доступных ему опций и получить ровно столько ресурсов из банка. После чего от двух оставшихся опций считается побитовое «И» (операция '&'), и такое количество очков добавляется к результату игроков в этом раунде. Например, если у игрока есть опции $$$\{2, 5, 11\}$$$ и игрок выбирает взять $$$5$$$ ресурсов, он получает $$$2\ \&\ 11 = 0010_2\ \&\ 1011_2 = 2$$$ очка. Для успешного перехода к следующей фазе игры

  1. суммарное количество взятых игроками ресурсов не должно превосходить $$$\left(\sum\limits_{i=1}^n a_i\right) + X$$$, то есть должно не больше чем на $$$X$$$ превышать количество ресурсов в случае, когда каждый игрок выбирает свое $$$a_i$$$;
  2. суммарное количество набранных очков должно быть максимально возможным.

Помогите игрокам определиться с выбором и успешно перейти к следующей фазе. Обратите внимание, что не требуется максимизировать количество взятых ресурсов при данном ограничении сверху, необходимо максимизировать только количество очков.

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

В первой строке ввода через пробелы даны два целых числа $$$n$$$ и $$$X$$$ — количество игроков и ограничение на «дополнительное» число ресурсов ($$$3 \le n \le 300$$$; $$$0 \le X \le 10^5$$$).

Во второй строке через пробел перечислены $$$n$$$ целых чисел $$$a_i$$$ — значения, написанные на выданных игрокам карточках ($$$0 \le a_i \le 10^5$$$; $$$a_i \le a_{i+1}$$$).

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

Выведите одно целое число — максимальное количество очков, которое могут набрать игроки за эту фазу.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
0–примеры из условияполная
113$$$n \le 14$$$0полная
28$$$1 \le a_i \le 2$$$ для всех $$$i$$$первая ошибка
310$$$a_i \le 3$$$ для всех $$$i$$$2первая ошибка
412$$$a_n - a_1 \le 1$$$2первая ошибка
517$$$a_i\ \&\ a_{i+1} = a_i$$$ для всех $$$i$$$первая ошибка
616$$$a_i \le 200$$$ для всех $$$i$$$0, 2, 3первая ошибка
724без дополнительных ограничений0 – 6первая ошибка
Примеры
Входные данные
4 0
1 2 4 8
Выходные данные
0
Входные данные
4 0
3 6 12 24
Выходные данные
22
Входные данные
7 3
1 2 3 4 5 6 7
Выходные данные
26
Примечание

В первом примере $$$a_i\ \&\ a_j = 0$$$ при $$$i \ne j$$$, поэтому набрать очки не получится.

Во втором примере игрокам следует взять ресурсы в количестве $$$24$$$, $$$3$$$, $$$6$$$ и $$$3$$$, соответствено. Тогда количество очков равно $$$(3\ \&\ 6) + (6\ \&\ 12) + (12\ \&\ 24) + (12\ \&\ 24) = 2 + 4 + 8 + 8 = 22$$$.