eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Конференцiя

Конференцiя

Сем i Юра виступають на конференцiї. Всього у них є n доповiдей, зануднiсть i-ої з яких рiвна ai. Конференцiя триває k днiв. Кожну доповiдь Сем i Юра читають рiвно один раз в один iз днiв. Кожного дня повинна бути принаймнi одна доповiдь Сема та Юри.

Зануднiсть дня рiвна xor занудностей всiх доповiдей, прочитаних в цей день. Органiзатори конференцiї хочуть так розставити доповiдi Сема та Юри, щоб мiнiмiзувати суму занудностей днiв.

Допоможiть їм в цьому.

Операцiя xor (позначається як ⊕) — операцiя додавання за модулем 2. Для того, щоб знайти xor двох чисел a та b, потрiбно розкласти обидва числа у двiйкову систему та додати по модулю 2 окремо кожен бiт. Наприклад, 46 = 2, бо 410 = 1002, 610 = 1102. 410610 = 0102 = 210.

Дана операцiя реалiзована, як оператор ^ в C++, C#, Java та xor у Pascal. Хor набору чисел c1; c2; : : : ; ck рiвний (**: : : ((c1c2) ⊕ c3) : : : ⊕ ck**).

Формат вхiдних даних

Перший рядок мiстить два цiлi числа n та k (**1 ⩽ k ⩽ n ⩽ 105**) — кiлькiсть доповiдей та кiлькiсть днiв.

Другий рядок мiстить n цiлих чисел a1; a2; : : : ; an (**1 ⩽ ai109**) — зануднiсть i-ої доповiдi.

Формат вихiдних даних

Виведiть єдине цiле число — мiнiмальну сумарну зануднiсть.

Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
7 4
47 74 4 7 7 4 7
Выходные данные #1
106
Источник 2019-2020 ACM-ICPC, SEERC, 1/8 фiналу, 13 квiтня 2019 року