Муниципальный этап ВсОШ по информатике, 9-11 классы, Московская область, 2021
Statement is not available in English language
A. Доски
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Иван – профессиональный строитель. Помимо тщательного контроля при строительстве он также следит за качеством материалов.

Иван решил сделать деревянный забор, поэтому он приобрёл доску длиной $$$L$$$ сантиметров. Однако для строительства забора необходимы доски длиной ровно $$$D$$$ сантиметров. Разумеется доску можно распилить на несколько частей, но из-за сжатых сроков Иван успеет распилить её не более, чем на $$$K$$$ частей.

Ему стало интересно, какое максимальное количество досок длины $$$D$$$ ему удастся получить? Напишите программу, которая по числам $$$L$$$, $$$D$$$, $$$K$$$ вычисляет это количество.

Входные данные

В первой строке вводится натуральное число $$$L$$$ ($$$1 \leq L \leq 100$$$) — длина исходной доски.

Во второй строке вводится натуральное число $$$D$$$ ($$$1 \leq D \leq 100$$$) — требуемая длина досок.

В третьей строке вводится натуральное число $$$K$$$ ($$$2 \leq K \leq 100$$$) — максимальное количество частей, на которое можно распилить доску.

Выходные данные

Выведите единственное целое число – максимальное количество досок длины $$$D$$$, которое удастся получить.

Примеры
Входные данные
10
2
7
Выходные данные
5
Входные данные
11
3
5
Выходные данные
3
Входные данные
11
3
2
Выходные данные
1
Примечание

В первом примере доску длины 10 можно распилить на 5 частей длины 2.

Во втором примере доску длины 11 можно распилить на 3 части длины 3 и одну часть длины 2.

В третьем примере разрешено распилить доску только на две части, поэтому пусть первая часть будет длины 3, а вторая часть длины 8.

Statement is not available in English language
B. Счастливые числа
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему.

Федя совсем недавно поступил в лучший вуз страны. В особенности ему стала интересна кафедра изучения счастливых чисел, то есть тех чисел, которые состоят только из цифр 2 и 5. Научные сотрудники этой кафедры исследуют их распределение. Они поняли, что существует последовательность всех счастливых чисел в порядке возрастания (2 - первое число, 5 - второе, 22 - третье и т.д.). Они хотят найти порядковый номер счастливого числа $$$N$$$ в данной последовательности. Федю очень заинтересовала эта задача. Он думал над ней целый день, но так ни к чему и не пришел. Можете ли вы помочь Феде и кафедре счастливых чисел найти ответ?

Входные данные

Тест №1: $$$N = 25;$$$

Тест №2: $$$N = 55;$$$

Тест №3: $$$N = 225;$$$

Тест №4: $$$N = 5555;$$$

Тест №5: $$$N = 5522;$$$

Тест №6: $$$N = 255255525;$$$

Тест №7: $$$N = 555222255525252252;$$$

Тест №8: $$$N = 252252552252522555552525252222;$$$

Тест №9: $$$N = 255522222225522252255255222555552225222252555222222255252222;$$$

Тест №10: $$$N = 552222552555225252222555555522522555225255525252552222525255.$$$

Выходные данные

Для каждого теста требуется ввести в тестирующую систему одно целое число — порядковый номер счастливого числа $$$N$$$ в последовательности счастливых чисел.

Примечание

Т.к. счастливое число 2 является первым числом последовательности счастливых чисел, то ответ на задачу при $$$N = 2$$$ равен 1. При $$$N = 22$$$, ответ равен 3. А, например, т.к. число 255 является 10-м членом последовательности, то при $$$N = 255$$$ ответ будет равен 10.

Statement is not available in English language
C. Тортики и свечки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня знаменательный день! В Межгалактическом Обществе Программистов сразу у $$$n$$$ программистов день рождения! Поскольку программисты в этом обществе – очень дружный народ, они решили отпраздновать эти дни рождения все вместе.

Как известно, все разумные существа во вселенной в день рождения зажигают свечки на торте. Программисты зажигают свечки в соответствии с двоичной записью числа. Например, если программисту исполнилось $$$24$$$ года, он втыкает в торт $$$5$$$ свечек и зажигает только первые $$$2$$$, поскольку $$$24_{10} = 11000_2$$$, a если ему исполнилось $$$31$$$, то придется зажечь все $$$5$$$ свечек.

Программисты быстро заметили, что если свечка не была зажжена то ее можно вытащить из торта и воткнуть в следующий. Конечно, они не хотят расходовать лишних свечек и поэтому решили посчитать, в каком порядке стоит праздновать дни рождения, чтобы минимизировать их расход.

Поскольку общество межгалактическое, в нем есть индивиды самого разного возраста от $$$1$$$ до $$$10^9$$$ лет.

Напишите программу, которая определяет наименьшее количество свечек, которое потребуется, чтобы отпраздновать все дни рождения.

Входные данные

В первой строке находится одно число $$$n$$$ ($$$1 \le n \le 100$$$) – количество программистов.

Во второй строке находится $$$n$$$ чисел $$$a_i$$$ ($$$1 \le a_i \le 10^9$$$) – сколько лет исполняется каждому программисту.

Выходные данные

В первой строке выведите одно целое число – минимальное количество свечек, которое потребуется, чтобы отпраздновать все дни рождения.

Система оценки

Гарантируется, что решение, работающее, когда числа уже даны в правильном порядке наберет не менее $$$10$$$ баллов.

Гарантируется, что решение, работающее, когда все числа имеют одинаковую длину в двоичной записи наберет не менее $$$30$$$ баллов.

Примеры
Входные данные
3
1 2 4
Выходные данные
3
Входные данные
3
5 2 1
Выходные данные
4

Statement is not available in English language
D. Системы счисления
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Егор в школе проходил системы счисления, ему дали следующее определение представление числа в системе счисления:

Представлением целого положительного числа $$$n$$$ в $$$k$$$-ичной системе счисления ($$$k \ge 2$$$) называется последовательность целых неотрицательных чисел $$$a_1$$$, ..., $$$a_s$$$ такая, что $$$a_i \le k - 1$$$ для всех $$$i = 1...s$$$ и $$$a_1 \ne 0$$$, а также $$$a_s + a_{s - 1} \cdot k + a_{s - 2} \cdot k^2 + ... + a_1 \cdot k^{s - 1} = n$$$.

Например, представлением числа 6 в двоичной системе счисления является последовательность $$$1, 1, 0$$$, т.к. $$$0 + 1 \cdot 2 + 1 \cdot 4 = 6$$$, а представлением числа 120 в одиннадцатиричной системе счисления является последовательность $$$10, 10$$$, т.к. $$$10 + 10 \cdot 11 = 120$$$.

Можно показать, что любое целое положительное число $$$n$$$ представимо единственным образом в $$$k$$$-ичной системе счисления для любого $$$k \ge 2$$$.

Егор считает красивыми последовательности, которые заканчиваются ровно на два нуля. Сегодня в учебнике он наткнулся на целое положительное число $$$n$$$, и он захотел получить из него как можно больше красивых последовательностей, переводя $$$n$$$ в различные системы счисления. Ему стало интересно, сколько различных красивых последовательностей он сможет получить?

Однако, так как число $$$n$$$ очень большое, без программирования ему не обойтись. К сожалению, программировать он не умеет, поэтому обратился за помощью к вам. Напишите программу, которая по заданному $$$n$$$ считает количество различных красивых последовательностей, которые из него можно получить.

Входные данные

В единственной строке входных данных находится единственное целое число $$$n$$$ ($$$1 \le n \le 10^{18}$$$) – число, которое увидел Егор, идя из школы.

Обращаем внимание, что входные данные в этой задаче могут не поместиться в 32-битный целочисленный тип данных вашего языка, рекомендуется использовать 64-битный тип данных (long long, int64_t языка С++, int64 языка Free Pascal, long языка Java и т.д.)

Выходные данные

Выведите единственное число – ответ на задачу.

Система оценки

Решения, работающие корректно при $$$n \le 10^6$$$, будут оцениваться в 30 баллов.

Решения, работающие корректно при $$$n \le 10^{12}$$$, будут оцениваться в 60 баллов.

Примеры
Входные данные
8
Выходные данные
0
Входные данные
12
Выходные данные
1
Входные данные
100
Выходные данные
3
Примечание

В первом тесте единственные системы счисления, в которых у числа 8 есть нули на конце – двоичная и четверичная, но в двоичной оно заканчивается на 3 нуля, а в четверичной на 1, так что ни та, ни другая не подходит.

Во втором тесте можно получить последовательность $$$1, 1, 0, 0$$$, переведя 12 в двоичную систему счисления.

В третьем тесте можно получить последовательность $$$1, 1, 0, 0, 1, 0, 0$$$, переведя 100 в двоичную систему счисления, последовательность $$$4, 0, 0$$$, переведя 100 в пятиричную систему счисления и последовательность $$$1, 0, 0$$$, переведя 100 в десятичную систему счисления. Обратите внимание, что 101-ричная система счисления не подходит для числа 100, т.к. 100 представляется в 101-ричной системе счисления как последовательность из одного числа 100, последний элемент этой последовательности равен 100, а не 0.