Муниципальный этап ВсОШ по информатике в городе Петрозаводске и республике Карелия 2023-2024 (9-11 класс)
Statement is not available in English language
A. Число белых квадратов
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Шахматное поле в общем случае — это квадратное поле размера $$$n \times n$$$, где каждый квадрат $$$1 \times 1$$$ раскрашен в белый или в черный цвет, левый верхний угол покрашен в черный. Каждый квадрат граничит по стороне с квадратами других цветов. Сколько на поле белых квадратов?

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

В первой строке дано одно число: $$$n$$$.

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

Выведите одно число — количество белых клеток.

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$1$$$     $$$n \le 10^3$$$    50—
$$$2$$$     $$$n \le 10^{9}$$$    501

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

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

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

Злой гений имеет n конфет. Он хочет позвать на встречу $$$m$$$ друзей, и поделиться с ними конфетами поровну, чтобы после деления осталось ровно $$$k$$$ конфет. Процесс деления происходит следующим образом: Все друзья встают в круг, он дает по одной конфете каждому начиная с 1-го по $$$m$$$-го. Если конфет больше или равно $$$m$$$, он продолжает этот процесс. В итоге у него останется сколько-то конфет. Гений хочет, чтобы у него осталось ровно $$$k$$$ конфет. Гарантируется, что злой гений не жадный, то есть $$$n \gt k$$$.

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

В первой строке дано два целых числа, разделенных пробелами $$$n, k$$$ — количество конфет в начале и желаемый остаток конфет в конце.

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

В единственной строке выведите ответ на задачу — количество друзей, которое надо позвать, чтобы после деления осталось ровно $$$k$$$ конфет. Если такое сделать невозможно, выведите $$$-1$$$.

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$n$$$$$$k$$$
$$$1$$$    $$$n \le 10^3$$$    $$$k \le 10^3$$$40—
$$$1$$$    $$$n \le 10^{12}$$$    $$$k \le 10^{12}$$$301
$$$2$$$    $$$n \le 10^{18}$$$    $$$k \le 10^{18}$$$30$$$2$$$

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

Примеры
Входные данные
10 3
Выходные данные
7
Входные данные
30 4
Выходные данные
13
Входные данные
66 3
Выходные данные
7

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

Так бывает, что два очень ожидаемых блокбастера выходят в один и тот же день. Вот и в этот раз в кинотеатрах одновременно начинают показывать два легендарных, но очень разных фильма: «Борби» и «Опергеймер». У Руслана выдался редкий выходной как раз в день этой премьеры.

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

Так как выходных у Руслана бывает очень мало, а его время ценно, он специально купил билеты так, чтобы между началом первого по времени сеанса и концом второго прошло как можно меньше времени. Вычислите это минимальное время.

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

В первой строке ввода даны два целых положительных числа $$$t_b$$$ и $$$t_o$$$ — длительности фильмов «Борби» и «Опергеймер», соответственно, причём $$$t_b, t_o \le 10^9$$$.

Во второй строке дано целое положительное число $$$n$$$ — число сеансов фильма «Борби» в кинотеатре.

В следующей строке дано $$$n$$$ целых неотрицательных чисел $$$b_i$$$ — времена начала сеансов фильма «Борби» в порядке возрастания, $$$b_i \le 10^9$$$.

В следующей строке дано целое положительное число $$$m$$$ — число сеансов фильма «Опергеймер».

В следующей строке дано $$$n$$$ целых неотрицательных чисел $$$o_j$$$ — времена начала сеансов фильма «Опергеймер» в порядке возрастания, $$$o_j \le 10^9$$$.

Сеансы одного и того же фильма в расписании могут пересекаться.

Гарантируется, что существует два непересекающихся сеанса двух разных фильмов.

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

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

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$n$$$$$$m$$$
$$$1$$$    $$$n = 1$$$    $$$m \le 2 \cdot 10^5$$$$$$35$$$—
$$$2$$$    $$$n \le 10^3$$$    $$$m \le 10^3$$$$$$35$$$—
$$$3$$$    $$$n \le 2 \cdot 10^5$$$    $$$m \le 2 \cdot 10^5$$$$$$30$$$$$$1, 2$$$

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

Примеры
Входные данные
100 180
3
0 200 340
3
20 150 320
Выходные данные
290
Входные данные
100 180
1
700
6
0 200 400 600 800 1000
Выходные данные
400
Примечание

В первом примере из условия варианты пар непересекающихся сеансов следующие:

  1. «Борби» во время $$$0$$$, который продлится до времени $$$100$$$, и потом «Опергеймер» во время $$$150$$$, который продлится до времени $$$330$$$, в сумме выйдет время $$$330 - 0 = 330$$$
  2. «Борби» во время $$$0$$$, который продлится до времени $$$100$$$, и потом «Опергеймер» во время $$$320$$$, который продлится до времени $$$500$$$, в сумме выйдет время $$$500 - 0 = 500$$$
  3. «Борби» во время $$$200$$$, который продлится до времени $$$300$$$, и потом «Опергеймер» во время $$$320$$$, который продлится до времени $$$500$$$, в сумме выйдет время $$$500 - 200 = 300$$$
  4. «Опергеймер» во время $$$20$$$, который продлится до времени $$$200$$$, и потом «Борби» во время $$$340$$$, который продлится до времени $$$440$$$, в сумме выйдет время $$$440 - 20 = 420$$$
  5. «Опергеймер» во время $$$150$$$, который продлится до времени $$$330$$$, и потом «Борби» во время $$$340$$$, который продлится до времени $$$440$$$, в сумме выйдет время $$$440 - 150 = 290$$$

Меньше всего времени ($$$290$$$) уйдёт на последнюю пару сеансов в списке.

Во втором примере сеанс фильма «Борби» всего один, и варианты непересакающихся сеансов следующие:

  1. «Опергеймер» во время $$$0$$$, который продлится до времени $$$180$$$, и потом «Борби» во время $$$700$$$, который продлится до времени $$$800$$$, в сумме выйдет время $$$800 - 0 = 800$$$
  2. «Опергеймер» во время $$$200$$$, который продлится до времени $$$380$$$, и потом «Борби» во время 700, который продлится до времени $$$800$$$, в сумме выйдет время $$$800 - 200 = 600$$$
  3. «Опергеймер» во время $$$400$$$, который продлится до времени $$$580$$$, и потом «Борби» во время $$$700$$$, который продлится до времени $$$800$$$, в сумме выйдет время $$$800 - 400 = 400$$$
  4. «Борби» во время $$$700$$$, который продлится до времени 800, и потом «Опергеймер» во время $$$1000$$$, который продлится до времени $$$1180$$$, в сумме выйдет время $$$1180 - 700 = 480$$$

Меньше всего времени ($$$400$$$) уйдёт на пару сеансов номер $$$3$$$ в списке.

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

Клуб Творчества Программистов ПетрГУ проводит очередные сборы по программированию! Руководитель клуба пришёл в кабинет КТП IT-парка ПетрГУ незадолго до начала первого контеста сборов, чтобы убедиться что всё готово, и обнаружил, что в процессе подготовки сборов все забыли подготовить кабинет – не хватает компьютеров, мониторов, клавиатур и мышей, принтера и бумаги, и даже чайника, чтобы команды могли пить чай.

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

IT-парк ПетрГУ – это странный архитектурный комплекс, который представляет собой $$$n+1$$$ кабинетов, соединённых между собой проходами. Известно, что:

  • между двумя кабинетами не может быть больше одного прохода;
  • из каждого кабинета можно попасть в каждый другой, возможно проходя сквозь другие кабинеты;
  • по IT-парку из-за планировки не получится ходить кругами: если идти из кабинета КТП в какой-то другой кабинет, обратно идти получится ровно по тем же самым кабинетам и никак иначе.

Итак, руководитель КТП находится в кабинете под номером $$$b_1$$$ и должен посетить другие кабинеты с номерами $$$b_2, ..., b_m$$$ без какого-то определённого порядка и вернуться обратно в кабинет $$$b_1$$$ как можно быстрее.

Сколько времени у него на это уйдёт, если переход между кабинетами занимает одну единицу времени?

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

В первой строке ввода дано целое положительное число $$$n$$$ – количество проходов между кабинетами, $$$n \lt 10^5$$$.

В следующих $$$n$$$ строках дано по два целых положительных числа $$$a_i$$$ $$$a_j$$$, которые означают что существует проход между кабинетами с номерами $$$a_i$$$ и $$$a_j$$$, где $$$a_i \ne a_j$$$ и $$$a_i, a_j \le n+1$$$.

В следующий строке дано целое положительное число $$$m$$$ – количество кабинетов, которые необходимо посетить, $$$m \le n+1$$$.

В следующей строке дано $$$m$$$ целых положительных чисел $$$b_i$$$ – номера кабинетов, которые необходимо посетить, $$$b_i \le n+1$$$.

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

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

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$m$$$План IT-парка ПетрГУ
$$$1$$$—Кабинеты соединены и35—
пронумерованы последовательно
(см. первый пример)
$$$2$$$$$$m = 2$$$—35
$$$3$$$——30$$$1$$$, $$$2$$$

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

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

В первом примере кабинеты соединены в цепочку и пронумерованы последовательно.

Можно совершить, например, следующие переходы:

  1. из кабинета 3 в кабинет 4 – за время 1 ($$$3 \rightarrow 4$$$)
  2. из кабинета 4 в кабинет 1 – за время 3 ($$$4 \rightarrow 3 \rightarrow 2 \rightarrow 1$$$)
  3. из кабинета 1 в кабинет 3 – за время 2 ($$$1 \rightarrow 2 \rightarrow 3$$$)

В итоге на весь путь уйдёт 6 единиц времени.

Во втором примере можно совершить, например, следующие переходы:

  1. из кабинета 3 в кабинет 4 – за время 2 ($$$3 \rightarrow 2 \rightarrow 4$$$)
  2. из кабинета 4 в кабинет 1 – за время 2 ($$$4 \rightarrow 2 \rightarrow 1$$$)
  3. из кабинета 1 в кабинет 3 – за время 2 ($$$1 \rightarrow 2 \rightarrow 3$$$)

В итоге на весь путь уйдёт 6 единиц времени.

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

Дональ Дак — ничем не примечательный селезень, за исключением того факта, что его дядя — сам Скрудж МакДак! Дядя постоянно берет своего племянника в путешествия, делится секретами и весело проводит время.

И вот однажды, они отправились в Южную Америку в поисках легендарного топаза «Акрукс». Многие думали, что этот камень давно погребен вместе с храмом в тернистых зарослях Амазонки. Но им крайне повезло найти его целым и невредимым в усыпальнице одного из еле доживших храмов. Помимо топаза, усыпальница была набита золотом, украшениями и загадочными устройствами, среди которых, Дональд приметил нечто, похожее на подзорную трубу. Но только наши герои забрали топаз с его законного места, как все затряслось, посыпались стены, пошли трещины и усыпальница, вместе со Скруджем и Дональдом, провалилась вниз...

Рис.1: механизм и наши герои.

Придя в себя, они увидели странный механизм, состоящий из круговых сегментов. В каждом сегменте было две стеклянные трубы, направленные в центр, и если представить обе трубы как отрезки, то они лежат на одной прямой. Помимо этого, сегменты можно было поворачивать с помощью рукояток. В месте, куда они сужались, плотно сидел «Акрукс», заливая комнату голубым светом. Помимо этого, топаз наполнил светом и трубки, соединенные с ним. Скрудж догадался, что им надо соединить все трубки в одну длинную, поворачивая части. Однако Скруджа будто прокляли — на него с неба начали падали кирпичи, попадая точно туда, где он был. Дядя был был бессилен, и только племянник мог что-то сделать.

Дональд вспомнил, что ранее он нашел особенную подзорную трубу с выгравированным числом $$$Q$$$. Посмотрев через неё на механизм, он увидел, что к $$$i$$$-му сегменту было приписано число $$$a_i$$$ — угол наклона прямой, содержащей трубки $$$i$$$-го сегмента. Дональд принялся думать, в надежде найти оптимальное решение и как можно скорее спасти дядю.

В своей голове, Дональд представил механизм как $$$N$$$ прямых, проходящих через начало координат, где $$$i$$$-я прямая обозначала $$$i$$$-й сегмент механизма и имела угол наклона $$$a_i/Q$$$ градусов. Дональд хочет найти такую прямую, что если к ней поворачивать все прямые, то сумма углов поворота будет минимальна. В качестве угла поворота конкретной прямой Дональд берет минимум из разницы углов поворота по часовой стрелке и против.

Рис.2: поворот всегда идёт по меньшему углу. Например, если мы поворачиваем прямую B к A, то мы будем поворачивать по меньшему углу $$$\alpha$$$ против часовой стрелки.

Мы предлагаем Вам побывать в голове Дональда и помочь решить эту задачу. Помогите им собрать механизм и сбежать из храма!

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

На вход подается два натуральных числа: $$$N$$$ — прямых и $$$Q$$$ — число на подзорной трубе. Далее, на следующей строке идет $$$N$$$ целых положительных чисел $$$a_i$$$ — углы прямых. Угол наклона $$$i$$$-й прямой в градусах $$$= a_i/Q$$$. $$$$$$N \leq 10^5$$$$$$ $$$$$$Q \leq 10^9$$$$$$ $$$$$$0 \leq a_i \lt 180 \cdot Q$$$$$$

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

Необходимо вывести одно целое число $$$A$$$ — угол такой прямой, что если к ней поворачивать все остальные прямые, то сумма углов поворота будет минимальна.

Ваш ответ должен находится в полуинтервале $$$[0, 180 \cdot Q)$$$.

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

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

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

ГруппаДополнительные ограниченияБаллыНеобходимые группы
$$$N$$$$$$a_i$$$$$$Q$$$
$$$1$$$$$$N \leq 100$$$$$$a_i \leq 90 \cdot Q - 1$$$$$$Q = 1$$$$$$30$$$—
$$$2$$$$$$N \leq 100$$$$$$a_i \leq 90 \cdot Q - 1$$$$$$Q \leq 100$$$$$$25$$$$$$1$$$
$$$3$$$$$$N \leq 100$$$——$$$25$$$$$$1$$$, $$$2$$$
$$$4$$$———$$$20$$$$$$1$$$, $$$2$$$, $$$3$$$

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

Примеры
Входные данные
4 1
10 70 90 160
Выходные данные
45
Входные данные
5 5
0 150 310 645 820
Выходные данные
0
Входные данные
4 155443532
576 1697930119 9434576836 23229999244
Выходные данные
576
Примечание

Разберем первый пример из условия:

Рис.3: механизм и мысленные пометки Дональда.

Прямые $$$A, B, C, D$$$ даны в том же порядке, что и в условии. Легко показать, что прямая $$$X$$$, имеющая угол $$$45^{\circ}$$$ градусов является одним из ответов. Сумма углов поворота для неё $$$= 35 + 25 + 45 + 65 = 170$$$ градусов.

Statement is not available in English language
G. Учиться, учиться и учиться...
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Имеется $$$n$$$ попарно различных натуральных чисел $$$p_1, \, p_2, \, \dots, \, p_n$$$ и $$$n$$$ натуральных чисел $$$c_1, \, c_2, \, \dots, \, c_n$$$.

Рассмотрим строку $$$s$$$ состоящую из цифр. Рассмотрим некоторое её разбиение на $$$k$$$ непустых подстрок: $$$s = t_1 + t_2 + \ldots + t_k$$$. Никакая $$$t_j$$$ не должна содержать ведущих нулей. Красотой подстроки $$$t_j$$$ назовем максимальное натуральное $$$y$$$, такое что $$$t_j = p_i^x$$$ и $$$y = c_i \cdot x$$$, для некоторого ($$$1 \le i \le n$$$). Если нет такого $$$i$$$, что $$$t_j = p_i^x$$$, то $$$y$$$ полагается равным $$$0$$$.

Изящностью разбиения $$$t_1, t_2, \ldots, t_k$$$ назовем минимальную красоту среди всех $$$t_j$$$.

Ваша задача найти максимально достижимую изящность, а так-же число разбиений, при которых она достижима. Дабы навсегда закрепить полученные навыки, преподаватель просил решить задачу для $$$q$$$ строк $$$s$$$.

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

Первая строка содержит одно целое число — $$$n$$$ ($$$1 \le n \le 10^5$$$).

В следующих $$$n$$$ строках находятся по 2 целых числа — $$$p_i$$$ ($$$2 \le p_i \lt 10^{18}$$$) и $$$c_i$$$ ($$$1 \le c_i \le 10^7$$$). Гарантируется, что все $$$p_i$$$ попарно различны.

$$$n + 2$$$-я строка содержит одно целое число — $$$q$$$ ($$$1 \le q \le 10^5$$$).

В каждой из следующих $$$q$$$ строк записано по одной строке $$$s$$$ ($$$1 \le |s| \le 18$$$). Все строки состоят из цифр от $$$0$$$ до $$$9$$$.

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

Выведите $$$q$$$ строк. В $$$i$$$-й строке выведите $$$2$$$ целых числа - максимально достижимая изящность $$$i$$$-й строки из ввода и число разбиений, при которых она достигается.

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$n$$$$$$p_i$$$$$$q$$$$$$s$$$
$$$1$$$$$$n \le 9$$$$$$p_i \le 999$$$$$$q \le 10$$$$$$|s| \le 3$$$$$$5$$$—
$$$2$$$$$$n \le 100$$$—$$$q \le 10$$$$$$|s| \le 9$$$$$$15$$$$$$1$$$
$$$3$$$——$$$q \le 200$$$—$$$25$$$$$$1$$$ — $$$2$$$
$$$4$$$——$$$q \le 10^4$$$—$$$25$$$$$$1$$$ — $$$3$$$
$$$5$$$——$$$q \le 5 \cdot 10^4$$$—$$$20$$$$$$1$$$ — $$$4$$$
$$$6$$$————$$$10$$$$$$1$$$ — $$$5$$$

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

Пример
Входные данные
6
6 1
123456789012345678 42
2 2
3 2
5 10
7 2
5
36
123456789012345678
25649
11
000
Выходные данные
2 1
42 1
4 3
0 2
0 1
Примечание

Строка "36" имеет 2 разбиения: "3" + "6" и "36". Красота строки "3" равна $$$2$$$, красота строки "6" равна $$$1$$$. Значит изящность разбиения "3" + "6" равна $$$min(2, 1) = 1$$$. Красота строки "36" равна $$$2$$$, т.к. $$$36 = 6^2$$$, следовательно изящность разбиения "36" равна 2.

Рассмотрим разбиения с изящностью $$$4$$$ для строки "25649":

1) "25" + "64" + "9".

2) "256" + "4" + "9".

3) "256" + "49".