Ctrl K

Шкафчики и побитовое И

Сложная
В раздевалке lockers шкафчиков с номерами от 1 до lockers, в каждый помещается не больше двух предметов. На каждом предмете написано число — массив items. Нужно разложить по шкафчикам все предметы. Предмет с числом v в шкафчике с номером s приносит v AND s очков (побитовое И). Очки раскладки — сумма по всем предметам. Верните наибольшее число очков, которого можно добиться. Шкафчики могут оставаться пустыми.
Пример 1
items=[3, 5, 6, 1], lockers=2 → 6

В шкафчик 2 кладём 3 и 6: (3 AND 2) + (6 AND 2) = 2 + 2 = 4. В шкафчик 1 — 5 и 1: 1 + 1 = 2. Итого 6.

Пример 2
items=[4], lockers=5 → 4

Предмет 4 можно положить в шкафчик 4 или 5: 4 AND 4 = 4 AND 5 = 4. Пустые шкафчики допустимы.

Пример 3
items=[7, 7, 7], lockers=3 → 8

Две семёрки в шкафчик 3 дают по 3, третья в шкафчик 2 даёт 2: всего 8.

Ограничения
  • 1 ≤ lockers ≤ 9
  • 1 ≤ len(items) ≤ 2 · lockers
  • 1 ≤ items[i] ≤ 15
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКак рассчитаться за меньше переводов СложнаяДве группы с одинаковым средним СложнаяСклейка фрагментов СложнаяЦепочки с квадратными суммами СложнаяСамая маленькая команда со всеми навыками Сложная
загружаем Python…
Вход
items=[3, 5, 6, 1], lockers=2
Ожидается
6

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 71 тест на сервере, включая скрытые.