printРабочее место участника

printЗадачи

2181. Делёж

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Лиса Алиса и кот Базилио нашли в пещере огромный слиток золота. Хотя они смогли вдвоем приподнять этот слиток, но не смогли вытащить его из пещеры, так как каждый тянул слиток в свою сторону из-за жадности. Вдруг в пещере появилась фея. Она сказала, что слиток весит `2^n` грамм и что она знает заклинание, которое может поделить любой кусок золота на 2 равные части. Это известие обрадовало мошенников, так как лиса Алиса могла унести `a` грамм золота, а кот Базилио – `b` грамм, что в сумме давало ровно `2^n` грамм.
Напишите программу, которая определяет, сколько минимально раз фея должна произнести заклинание, чтобы поделить слиток на куски так, чтобы Алиса и Базилио могли взять из них ровно `a` и `b` грамм соответственно.
Первая строка ввода содержит три целых числа `n` (`2\ ≤\ n\ ≤\ 30`), `a` и `b` (`1\ ≤\ a`, `1\ ≤\ b`, `a+b\ =\ 2^n`).
Вывести одно целое число — сколько минимально раз фея должна произнести заклинание, чтобы поделить золото между мошенниками.

Пример ввода

4 6 10

Пример вывода

3
Пояснение к примеру: фея должна поделить `2^4=16` грамм на две части по 8 грамм, затем одну из них на две части по 4 грамм, затем одну из этих частей на две части по 2 грамма. Алисе достанется две части весом 4 и 2 грамма, а Базилио — 8 и 2 грамма.
loading