Муниципальный этап ВсОШ по информатике для 9-11 классов, Оренбургская область, 2023
A. Джим Хокинс
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Очень, очень хороший мальчик. Вежлив, правдив, скромен, добр. Слушает маму, каждое утро делает зарядку.
«Остров Сокровищ»

Джим Хокинс хочет взять карту Острова Сокровищ у Билли Бонса. В принципе, Билли Бонс не против её отдать, но прежде требует, чтобы Джим сказал ему специальный пароль.

К сожалению, Джим помнит про пароль только то, что он является двузначным числом, содержащим цифры от $$$A$$$ до $$$B$$$. Для того, чтобы понять, как долго мальчику придется вспоминать пароль, он просит вас оценить, сколько всего существует двузначных чисел, состоящих из цифр от $$$A$$$ до $$$B$$$.

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

На вход программе подается две строки.

В первой строке записано одно целое число $$$A$$$.

Во второй строке записано одно целое число $$$B$$$.

Гарантируется, что $$$0 \le A \le B \le 9$$$ и число $$$B$$$ не равно $$$0$$$.

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

Выведите одно целое число - количество двузначных чисел, состоящих из цифр от $$$A$$$ до $$$B$$$.

Пример
Входные данные
0
2
Выходные данные
6

B. Капитан Смоллетт
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Старый моряк и солдат. Говорит всем правду в глаза, отчего и страдает.
«Остров Сокровищ»

Капитан Смоллетт любит вращать штурвал корабля. Чтобы он работал, как часы, на штурвале ровно $$$12$$$ ручек, каждая из которых помечена числом от $$$1$$$ до $$$12$$$ по часовой стрелке. Когда Смоллетт поворачивает штурвал он перекладывает руку либо на ручку слева, либо на ручку справа от текущей. Например, если рука была на ручке под номером $$$5$$$, то он может переложить ее на $$$4$$$-ю или на $$$6$$$-ю.

В частности, если рука была на $$$1$$$-й ручке, то он может переложить её на $$$12$$$-ю или на $$$2$$$-ю.

Капитану скучно просто управлять кораблём, поэтому он заодно практикуется в математике. Он находит сумму чисел на тех ручках штурвала, которых касается.

Пусть, например, Смоллетт использовал ручки штурвала в такой последовательности: $$$1$$$ -> $$$2$$$ -> $$$1$$$ -> $$$12$$$ -> $$$1$$$, тогда он посчитал сумму, равную $$$17$$$.

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

Помогите Смоллетту посчитать, какая максимальная сумма у него может получиться, если известно, что он переложил руку ровно $$$N$$$ раз, при этом изначально рука была на ручке под номером $$$K$$$ .

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

В единственной строке вводятся $$$2$$$ числа $$$N$$$, $$$K$$$ ($$$1 \le N \le 10^9$$$; $$$1 \le K \le 12$$$).

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

В единственной строке выведите максимальную сумму чисел, которую может получить Капитан Смоллетт.

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

В этой задаче $$$10$$$ тестов, не считая тест из условия, каждый из которых оценивается независимо в $$$10$$$ баллов. Тест из условия не оценивается.

Пример
Входные данные
1 1
Выходные данные
13
Примечание

В тестовом примере Смоллетт может переложить руку с $$$1$$$-й ручки на $$$12$$$-ю, тогда сумма номеров всех ручек будет равна $$$13$$$.

Другой вариант был переложить с $$$1$$$-й на $$$2$$$-ю, но тогда бы сумма была $$$3$$$. $$$13 \gt 3$$$, поэтому ответ $$$13$$$.

C. Сквайр Трелони
ограничение по времени на тест
1.25 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Туп, жаден, прожорлив, ленив, труслив, надменен. Характер отсутствует.
«Остров Сокровищ»

Сквайер Трелони решил перевезти на Остров $$$N$$$ сундуков накопленного богатства. Но он боится нападения пиратов, поэтому перевозит богатство постепенно, каждый день увеличивая размер транспортировки на один сундук. Так, если в первый день он транспортирует $$$A$$$ сундуков, то на второй день $$$(A + 1)$$$ сундук, в третий день $$$(A + 2)$$$ сундука и так далее, пока не перевезёт всё.

При этом Трелони никуда не торопится, и хочет выбрать такое $$$A$$$, чтобы перевозить своё богатство как можно дольше.

Например, если Сквайру надо транспортировать $$$9$$$ сундуков, то он может сделать это за $$$2$$$ дня: в первый день $$$4$$$ сундука, во второй $$$5$$$ сундуков. А может за $$$3$$$ дня: в первый день $$$2$$$, во второй день $$$3$$$ и в третий день $$$4$$$ сундука. Поскольку он не торопится, то выберет вариант с $$$3$$$ днями. Заметим, что в случае с $$$9$$$ сундуками Трелони не может начать перевозить богатство с $$$1$$$ сундука, потому что тогда во второй день он должен перевезти $$$2$$$ сундука, в третий $$$3$$$ сундука, и у него останется $$$3$$$ сундука, но в четвёртый день он должен перевозить уже $$$4$$$, и не может перевезти только $$$3$$$.

Поэтому для ситуации с $$$9$$$ сундуками лучшим по мнению Трелони является вариант перевозки за $$$3$$$ дня, в котором надо начать с $$$2$$$ сундуков, и закончить $$$4$$$ сундуками.

Помогите Сквайру Трелони определить для заданного $$$N$$$ количество сундуков, которые надо будет перевезти в первый день, и количество сундуков, которые надо перевезти в последний день так, чтобы каждый день увеличивать размер транспортировки на $$$1$$$ сундук, и всего перевезти $$$N$$$ сундуков.

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

В единственной строке вводится количество сундуков $$$N$$$ ($$$1 \le N \le 10^{12}$$$).

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

В единственной строке выведите два числа: количество сундуков, перевезенных в первый день, и количество сундуков, перевезённых в последний день транспортировки. Из всех возможных способов транспортировки выберите тот, который состоит из большего числа дней. Гарантируется, что такой способ всегда есть.

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

Решения, работающие корректно при $$$N \le 10^3$$$, наберут не менее $$$30$$$ баллов, а решения работающие корректно при $$$N \le 10^8$$$, наберут не менее $$$60$$$ баллов.

Пример
Входные данные
9
Выходные данные
2 4

D. Джон Сильвер
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Он же "Окорок", он же "Одноногий". Самый страшный пират, но удачно притворяется добрым.
«Остров Сокровищ»

Пират Джон Сильвер за свою жизнь украл $$$1000000000000$$$ ($$$10^{12}$$$) сундуков с Сокровищами. Все сундуки он пронумеровал и спрятал в разных местах. В старости пират решил оставить потомкам записки с номерами сундуков, в которых лежат самые ценные Сокровища!

Но Джон не хочет, чтобы его потомкам было легко, поэтому он решил зашифровать номера сундуков. Для шифра Джон использует такой принцип. Он составляет из букв $$$B$$$ и $$$G$$$ строку, и количество в этой строке таких пар позиций, что левая буква в паре $$$B$$$, а правая $$$G$$$ - это и есть загаданное число.

Например, если пират напишет строку $$$BGBG$$$, то он зашифрует число $$$3$$$. Потому что в этой строке ровно $$$3$$$ пары позиций такие, что левый элемент - буква $$$B$$$, а правый - буква $$$G$$$. Это позиции ($$$1$$$; $$$2$$$), ($$$1$$$; $$$4$$$), ($$$3$$$; $$$4$$$).

Конечно, можно придумать и другие строки для шифровки числа $$$3$$$, но Джону лень много писать, поэтому он хочет, чтобы строка-шифр была как можно короче. Можно показать, что число $$$3$$$ нельзя зашифровать таким способом строкой, содержащей менее $$$4$$$ символов.

У Джона Сильвера есть $$$20$$$ сундуков с самыми ценными Сокровищами. Помогите ему зашифровать их номера.

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

В единственной строке вводится единственное число $$$N$$$ ($$$1 \le N \le 10^{12}$$$) — номер сундука, который хочет зашифровать пират.

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

В единственной строке выведите строку из символов $$$B$$$ и $$$G$$$, шифрующую число $$$N$$$.

Если можно составить разные строки для шифра, то выберите из них строку минимальной длины. Если строк кратчайшей длины несколько, то выведите любую.

Если нельзя составить строку, шифрующую число $$$N$$$, то выведите $$$-1$$$.

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

В этой задаче $$$21$$$ открытый тест. Входные данные всех тестов приведены в таблице ниже. Первый тест является примером из условия, поэтому за него баллы не начисляются. Каждый из следующих $$$20$$$ тестов оценивается в $$$5$$$ баллов.

Номер теста$$$N$$$
$$$1$$$$$$3$$$
$$$2$$$$$$5$$$
$$$3$$$$$$10$$$
$$$4$$$$$$20$$$
$$$5$$$$$$52$$$
$$$6$$$$$$107$$$
$$$7$$$$$$148$$$
$$$8$$$$$$176$$$
$$$9$$$$$$221$$$
$$$10$$$$$$305$$$
$$$11$$$$$$1005$$$
$$$12$$$$$$5001$$$
$$$13$$$$$$998244353$$$
$$$14$$$$$$100000000003$$$
$$$15$$$$$$624567657865$$$
$$$16$$$$$$789789789789$$$
$$$17$$$$$$858579659590$$$
$$$18$$$$$$919191919191$$$
$$$19$$$$$$987654456789$$$
$$$20$$$$$$999999999999$$$
$$$21$$$$$$1000000000000$$$
Пример
Входные данные
3
Выходные данные
BGBG

E. Доктор Ливси
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Очень хороший и весёлый человек. Характер общительный.
«Остров Сокровищ»

Доктору Ливси скучно на корабле, поэтому он решил развлечься с матросами игрой в карты. Для этой игры вся команда садится в ряд. В распоряжении матросов есть карты, на которых написаны цифры от $$$1$$$ до $$$9$$$. В самом начале игры карты раздаются случайным образом. Причем у разных матросов может оказаться разное количество карт.

Карты в руках каждого матроса, сложенные друг за другом, образуют какое-то число. Это число назовём ценностью набора. Заметим, что меняя порядок карт в руке матроса можно увеличивать или уменьшать ценность его набора.

Доктор Ливси любит порядок, поэтому он хочет, чтобы ценности наборов карт матросов шли в порядке неубывания, то есть ценность набора каждого следующего матроса должна быть больше или равна ценности набора карт у предыдущего матроса. Напомним, что матросы сидят в ряд, и пересаживаться не могут.

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

Помогите Доктору определить, сможет ли он добиться порядка в команде матросов? То есть сможет ли он как-то перемешать карты у некоторых (возможно, всех, возможно, ни у одного) матросов так, чтобы ценности их наборов шли в порядке неубывания?

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

В первой строке вводится число $$$n$$$ ($$$2 \le n \le 10^5$$$) — количество матросов, сидящих в ряд.

В следующей строке вводится $$$n$$$ чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$1 \le a_i \le 10^{10^5}$$$). $$$a_i$$$ - это ценность набора карт в руках у $$$i$$$-го матроса.

Гарантируется, что общее количество карт у всех матросов не превышает $$$10^5$$$.

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

В первой строке выведите единственное слово «YES» или «NO», в зависимости от того, сможет Доктор Ливси добиться порядка или нет.

Если ответ «YES», то в следующей строке выведите $$$n$$$ чисел $$$b_1$$$, $$$b_2$$$, ..., $$$b_n$$$, где каждое $$$b_i$$$ — это перестановка $$$a_i$$$, при этом список $$$b_1$$$, $$$b_2$$$, ..., $$$b_n$$$ образует порядок неубывания.

Если есть несколько способов добиться неубывающего порядка, то выведите любой.

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

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

ПодзадачаБаллыОграниченияНеобходимые подзадачи
$$$0$$$$$$0$$$Пример из условия
$$$1$$$$$$10$$$$$$n \le 10$$$, $$$11 \le a_i \le 99$$$
$$$2$$$$$$20$$$На картах содержатся только числа 1 и 2; количество карт у каждого матроса не более 100
$$$3$$$$$$20$$$$$$n = 2$$$
$$$4$$$$$$30$$$У всех матросов одинаковое количество карт
$$$5$$$$$$20$$$Нет доп. ограничений$$$0$$$, $$$1$$$, $$$2$$$, $$$3$$$, $$$4$$$, $$$5$$$
Пример
Входные данные
3
321 124 122
Выходные данные
YES
123 124 212