Муниципальный этап ВсОШ по информатике, 7-8 классы, Московская область, 2023
A. Новые книги
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Для отправки на Codeforces создайте файлы с ответами 01.out, 02.out и так далее до 10.out, а затем сожмите их в архив ZIP.

Ира очень любит программирование и математику. Недавно друзья подарили Ире много новых книг — $$$A$$$ книг по математике и $$$B$$$ книг по программированию. Ира выделила отдельную книжную полку для новых книг, на которую их поместится не более $$$K$$$ штук.

Ира выяснила, что в каждой книге по математике содержится $$$X$$$ новых для неё фактов, а в каждой книге по программированию — $$$Y$$$ новых фактов. Стоит отметить, что все факты уникальны, и никакой факт не встречается в наборе книг дважды. Ира хочет выбрать не более $$$K$$$ книг таким образом, чтобы суммарное количество новых фактов в выбранных книгах было как можно больше.

Помогите Ире посчитать, какое максимальное количество новых фактов она сможет узнать, если оставит на полке не более $$$K$$$ книг.

Входные данные
Номер тестаБаллABKXY
110$$$3$$$$$$5$$$$$$7$$$$$$4$$$$$$2$$$
210$$$23$$$$$$44$$$$$$70$$$$$$5$$$$$$13$$$
310$$$239$$$$$$0$$$$$$137$$$$$$7$$$$$$19$$$
410$$$1266$$$$$$990$$$$$$1127$$$$$$2265$$$$$$8297$$$
510$$$1492$$$$$$1214$$$$$$2735$$$$$$7322$$$$$$2181$$$
610$$$1964$$$$$$1728$$$$$$291$$$$$$7683$$$$$$2769$$$
710$$$537004$$$$$$662408676616$$$$$$398351704499$$$$$$672621$$$$$$742358$$$
810$$$79629586150$$$$$$851573$$$$$$79630127068$$$$$$422542$$$$$$412282$$$
910$$$977363980149$$$$$$126571152766$$$$$$57164417018$$$$$$305123$$$$$$657661$$$
1010$$$129181369874$$$$$$273586061399$$$$$$318820081665$$$$$$739382$$$$$$528351$$$
Выходные данные

Для каждого теста выведите одно число — максимальное количество новых фактов, которое может получить Ира, если оставит не более $$$K$$$ книг.

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

Каждый тест оценивается независимо в 10 баллов.

Примечание

Пусть Ире подарили 5 книг по математике и 3 по программированию. В каждой книге по математике встречается 2 новых факта, а в каждой книге по программированию 3. На полку Ира сможет поставить не более 4-х книг.

В таком случае оптимально взять 3 книги по программированию и 1 по математике, чтобы узнать $$$3 \cdot 3 + 1 \cdot 2 = 11$$$ новых фактов.

B. Мыт на реке Яуза
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод
Мыт (или мыто) — государственная пошлина в Древней Руси. Название города «Мытищи» произошло именно от этого слова, однако «мы‌тище» — совсем не большой мыт, а место, где мыт собирали. Образовано по аналогии со словами пожарище — место, где был пожар; городище — место, где был город.

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

Для отправки на Codeforces создайте файлы с ответами 01.out, 02.out и так далее до 10.out, а затем сожмите их в архив ZIP.

В Москву на продажу плыл на лодке купец и вёз товар: $$$i$$$ граммов икры и $$$m$$$ граммов мёда. В столице на рынке он может продать икру по цене $$$a$$$ рублей за грамм и мёд по цене $$$b$$$ рублей за грамм. На его пути есть участок суши, где лодку нужно тащить волоком от реки Яуза до реки Клязьма. В этом месте расположен пункт сбора мыта.

Мыт возможно уплатить не только деньгами, но и товаром. Так что купец может оставить в качестве уплаты пошлины на таможне одно из трёх:

  • $$$v$$$ рублей
  • $$$c$$$ граммов икры
  • $$$d$$$ граммов мёда

Посчитайте, какое максимальное количество денег сможет заработать купец при оптимальной стратегии, если у него изначально есть хотя бы $$$v$$$ рублей. Гарантируется, что изначально у купца есть товар (икра и мед) на сумму более, чем $$$v$$$ рублей, то есть $$$i \cdot a + m \cdot b \gt v$$$.

Входные данные
Номер тестаБаллыimabvcd
1104232281001000123458796
2109366984055197098046
3109179909548100000234213
41011610118531300012015
5107997776747799543150800
61091357195116995431000600
71090708140716726499659112148965030757108817072662956179162
8103578250150198588210356804148049323333663975300041
91079129831669382003190125771433293143011245014392
10101043669659376824506671453490705070011000058254686
Выходные данные

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

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

Каждый тест оценивается независимо в 10 баллов.

Примечание

Например, если $$$i = 5$$$, $$$m = 10$$$, $$$a = 2$$$, $$$b = 3$$$, $$$v = 7$$$, $$$c = 3$$$, $$$d = 3$$$, то купцу выгоднее всего уплатить мыт икрой и в этом случае его прибыль будет равна $$$4$$$ рубля за оставшуюся икру + $$$30$$$ рублей за мед, то есть суммарно $$$34$$$ рубля.

Если $$$i = 5$$$, $$$m = 10$$$, $$$a = 1$$$, $$$b = 3$$$, $$$v = 10$$$, $$$c = 6$$$, $$$d = 3$$$, то купцу выгоднее всего уплатить мыт мёдом и в этом случае его прибыль будет равна $$$5$$$ рублей за икру + $$$21$$$ рубль за оставшийся мёд, то есть суммарно $$$26$$$ рублей. Обратите внимание, что купец не может уплатить мыт икрой, так как у него недостаточно икры для уплаты мыта икрой.

Если $$$i = 5$$$, $$$m = 10$$$, $$$a = 2$$$, $$$b = 3$$$, $$$v = 7$$$, $$$c = 4$$$, $$$d = 3$$$, то купцу выгоднее всего уплатить мыт деньгами и в этом случае его прибыль будет равна $$$10$$$ рублей за икру + $$$30$$$ рублей за мёд - $$$7$$$ рублей в качестве мыта, то есть суммарно $$$33$$$ рубля.

C. Поиск сокровищ
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Для отправки на Codeforces создайте файлы с ответами 01.out, 02.out и так далее до 10.out, а затем сожмите их в архив ZIP.

Валерий и Геннадий — друзья, они провели весь год в поисках сокровищ. Всего за год им удалось откопать $$$n$$$ сундуков с сокровищами, в каждом из которых находятся монеты. Валерий и Геннадий хотят поровну разделить найденные монеты из каждого сундука между собой. Но есть проблема — в некоторых сундуках количество монет нечетное и в таком случае разделить их поровну нельзя.

Валерий и Геннадий обратились к Вам за помощью. По их мнению, Вы можете выполнять только следующие операции:

  1. Пересыпать все монеты из $$$i$$$-го сундука в $$$j$$$-й сундук (после чего $$$i$$$-й сундук становится пустым);
  2. Если все монеты в сундуке можно разделить между Валерием и Геннадием поровну, то вы отдаете равное количество монет каждому из них;

Помогите Валерию и Геннадию и скажите им максимальное количество монет, которое сможет получить каждый из них.

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

$$$n$$$ — количество сундуков с золотом. $$$n$$$ целых чисел $$$a_i$$$ обозначают количество монет в сундуках.

Номер тестаБаллыn$$$a_1$$$$$$a_2$$$$$$a_3$$$$$$a_4$$$$$$a_5$$$$$$a_6$$$$$$a_7$$$$$$a_8$$$
1103113
210316410
3104451010
41043955
51046971
61051810101426
71051325152315
810650659550214
91076321965187897
10108242949624289922
Выходные данные

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

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

Каждый тест оценивается независимо в 10 баллов.

Примечание

Рассмотрим пример $$$n=3$$$, количество монет в сундуках: $$$1, 8, 2$$$. Второй сундук можно разделить поровну между друзьями — каждый получит по четыре монеты.

Также можно разделить третий сундук — каждый получит по одной монете.

Но куда бы мы ни переложили золото из первого сундука, мы не сможем разделить монеты поровну, поэтому ответ 4 + 1 = 5 — монет получит каждый из друзей.

D. Шоу с дельфинами
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В известном дельфинарии ставят шоу с дельфинами. В этом году организаторы решили добавить в шоу новый номер и удивить зрителей математическими навыками дельфинов. Дельфины умеют складывать числа, но делают это специфическим образом — они склеивают два числа. Например, из чисел $$$12$$$ и $$$3$$$ дельфин может получить число $$$123$$$ путём «сложения».

Тренер готовит дельфина к новому номеру и тренирует его — он показывает ему последовательно $$$n$$$ карточек с числами. Для каждого нового числа дельфин должен определить, можно ли его получить «сложением» каких-то двух карточек, которые тренер показывал ранее. Если число на текущей карточке можно получить «сложением» числа с увиденной ранее карточки два раза подряд, то это тоже учитывалось. Как только дельфин видит число, которое можно получить «сложением» увиденных ранее карточек — он издает специальный звук.

Определите, сколько раз за тренировку дельфин издаст специальный звук.

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

Первая строка содержит одно целое число $$$n\;(1 \leq n \leq 10^6)$$$ — количество показанных карточек.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2,...,a_n (0 \leq a_i \lt 10^6)$$$ — числа на карточках, записанные без ведущих нулей.

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

Выведите одно целое число — количество раз, которое дельфин издаст специальный звук.

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

Каждый тест оценивается независимо в 4 балла.

Если Ваше решение корректно работает при $$$n \leq 200 $$$, оно получит не менее 28 баллов.

Пример
Входные данные
7
1 23 123 11 21 1 2311
Выходные данные
3
Примечание

Обратите внимание, что если мы используем карточку с $$$0$$$, то в результате получается число с ведущим нулем. Например, в последовательности {0, 1, 1} ответ для последней карточки будет отрицательным, т.к. $$$01$$$ не совпадает с $$$1$$$.

Рассмотрим пример из условия: пусть были показаны карточки {1, 23, 123, 11, 21, 1, 2311} именно в таком порядке. Тогда, увидев карточку $$$123$$$, дельфин вспомнил, что ранее уже видел карточки $$$1$$$ и $$$23$$$, числа на которых при последовательной записи дают $$$123$$$. Аналогично, увидев $$$11$$$, дельфин смог представить это число как дважды повторенное число с карточки $$$1$$$, а увидев $$$2311$$$, дельфин смог представить это число как последовательную запись $$$23$$$ и $$$11$$$. Итого, дельфин издал специальный звук $$$3$$$ раза.