Ctrl K

Куб из OR в рамках бюджета

Средняя
Для натурального n построим куб n × n × n. В ячейке с координатами (x, y, z), где 0 ≤ x, y, z < n, записано число x * (y | z) — здесь | означает побитовое OR. Стоимость куба — сумма чисел во всех его ячейках. Дано целое число budget. Верните наибольшую сторону n, при которой стоимость куба не превышает budget. Куб со стороной 1 всегда стоит 0, поэтому ответ не меньше 1.
Пример 1
budget=3 → 2

При n = 2 ненулевые ячейки — только при x = 1: 1·(0|1) + 1·(1|0) + 1·(1|1) = 3, это ровно бюджет. При n = 3 сумма уже 45.

Пример 2
budget=44 → 2

Куб со стороной 3 стоит 45 — на единицу больше бюджета, поэтому ответ 2.

Пример 3
budget=0 → 1

Куб со стороной 1 состоит из одной ячейки (0, 0, 0) со значением 0 — он помещается в любой бюджет.

Ограничения
  • 0 ≤ budget ≤ 10¹⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНайти лишнюю копию СредняяКратчайший отрезок с полным OR СредняяБитовый налог в пределах бюджета СредняяРазмер плотного дерева ЛёгкаяПотерянный билет Лёгкая
загружаем Python…
Вход
budget=3
Ожидается
2

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