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