Муниципальный этап ВсОШ, Краснодарский край, 2022
A. Праздничный торт
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

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

Единственная строка входных данных содержит число $$$N$$$ - количество свечей ($$$1 \leq N \leq 10^{9}$$$)

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

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

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

Решения, выводящие правильный ответ при дополнительных ограничениях $$$N \leq 2000,$$$ будут набирать не менее 50 баллов.

Примеры
Входные данные
4
Выходные данные
3
Входные данные
10
Выходные данные
4

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

Прораб Иван Иванович купил $$$N$$$ килограмм гравия для своей стройки. Гравий можно транспортировать только в мешках. На базе стройматериалов, где закуплен гравий, есть мешки для гравия любой вместимости от $$$a$$$ до $$$b$$$ килограмм (включительно). Мешок можно засыпать гравием только полностью. Иван Иванович хочет перевезти как можно большую часть купленного гравия в таких мешках на свой строительный объект. При этом он хочет обойтись как можно меньшим количеством мешков. Сколько мешков ему необходимо перевезти?

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

В единственной строке входных данных записаны три целых числа: $$$N,$$$ $$$a,$$$ $$$b$$$ ($$$1 \leq a,b,N \leq 10^9,$$$ $$$a \leq b,$$$ $$$a \leq N.$$$)

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

Требуется вывести единственное число: ответ на вопрос задачи.

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

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

Начинающий шахматист Вася исследовал возможные движения шахматного коня по шахматной доске ($$$8\times 8$$$ клеток): его конь начал движение с некоторой клетки с номером строки $$$x$$$ и номером столбца $$$y$$$ и совершил $$$n$$$ ходов по правилам шахматного коня (шахматный конь ходит буквой «Г»: за один ход он совершает прыжок или на одну клетку по горизонтали и одновременно на две клетки по вертикали, или на две клетки по горизонтали и одновременно на одну клетку по вертикали, в обоих случаях прыжок по горизонтали и по вертикали может совершаться в любом направлении). Вася старательно записывал координаты каждой клетки, которую посещал конь после очередного хода. Но в какой-то момент он увлёкся и забыл записать ход, поэтому в его записях оказались координаты только $$$n-1$$$ клетки. Вася уверен, что все остальные клетки он записал корректно и теперь по своим записям хочет восстановить номер пропущенного хода и координаты клетки, в которой мог оказаться конь после этого хода.

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

В первой строке входных данных записано единственное число $$$n$$$ — количество ходов ($$$2 \leq n \leq 100$$$). В следующей строке записаны два целых числа: $$$x$$$ и $$$y$$$ — номер строки и номер столбца исходной клетки ($$$1 \leq x, y \leq 8$$$). В последующих $$$n-1$$$ строках приведены записи Васи ходов коня: в каждой строке указан номер строки и номер столбца клетки, в которой оказался конь после очередного хода. Порядок записей соответствует порядку посещения клеток конем с учётом того, что запись об одном из ходов отсутствует. Гарантируется, что записи приведены корректно, то есть действительно конь мог совершить такое движение по указанным клеткам с учётом пропуска в записях одной из клеток.

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

В первой строке вывода необходимо записать номер хода, данные о котором потеряны (ходы нумеруются с 1). Во второй — пару целых чисел: номер строки и номер столбца клетки, в которой оказался конь после потерянного хода. В случае нескольких вариантов ответа можно вывести любой из них.

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

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

Дана таблица неотрицательных целых чисел $$$N\times M$$$ ($$$N$$$ строк и $$$M$$$ столбцов) и размеры окна, накладываемого на эту таблицу: $$$n \times m$$$ ($$$n$$$ строк и $$$m$$$ столбцов, $$$1 \leq n \leq N,$$$ $$$1 \leq m \leq M$$$). Далее для всех возможных положений окна вычисляется XOR всех чисел, попавших в окно (определение операции приведено ниже). Затем вычисляется XOR всех полученных результатов для окон. Необходимо определить, какое число получится в результате.

Операция XOR (побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ) для двух целых чисел определяется следующим образом: числа представляются в двоичной системе счисления и вычисляется поразрядная сумма по модулю 2, в итоге получается двоичное представление результата операции. Например: $$$$$$ 5\,XOR\,3 = 101_2\,XOR\,011_2 = 110_2 = 6. $$$$$$ Операция XOR присутствует во многих языках программирования. Например, в языке Pascal для её вычисления используется оператор $$$xor,$$$ в языках C, C++, Python, Java оператор ^.

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

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

В первой строке входных данных записаны четыре целых числа в указанном порядке: $$$N,$$$ $$$M,$$$ $$$n,$$$ $$$m$$$ - размеры исходной таблицы и размеры окна ($$$1\leq n \leq N \leq 10^3,$$$ $$$1\leq m \leq M \leq 10^3$$$). В последующих $$$N$$$ строках записано по $$$M$$$ целых неотрицательных чисел, не превосходящих $$$2\cdot 10^9$$$ — элементы таблицы.

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

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

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

Решение задачи оценивается независимо на каждом тесте. За каждый успешно пройденный тест, кроме тестов из условия, начисляется 2 балла. Прохождение тестов из условия является необходимым условием для оценивания задачи на остальных тестах. Остальные тесты оцениваются независимо друг от друга. Тесты разбиты на следующие группы тестов:

Номер группыОписаниеТесты в группеБалл за группу
0Тесты из условия1 – 20
1Дополнительное ограничение: $$$1\leq n \leq N \leq 30,$$$ $$$1\leq m \leq M \leq 30$$$3 – 1220
2Дополнительное ограничение: в таблице присутствуют только числа 0 и 113 – 2220
3Без дополнительных ограничений23 – 5260

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

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

Миллионер Билл подал в мэрию прекрасного курортного города заявку на покупку участка на побережье. Администрация города согласилась выделить миллионеру участок, но выставила требование: в целях соблюдения принципов городского планирования участок обязательно должен быть прямоугольной формы и одна из его сторон должна быть параллельна гряде гор, идущих вдоль побережья. Побережье представляет собой последовательность прямоугольных полос ширины один метр, одна из метровых сторон которых упирается в гряду гор, представляющую собой прямую линию. Полосы касаются друг друга боковыми сторонами. Море находится с противоположной от гор стороны полос (см. рисунок). Помогите Биллу выбрать участок максимальной площади, удовлетворяющий требованиям мэрии.

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

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

В первой строке входного файла записаны два числа: $$$n$$$ — длина берега в метрах ($$$1 \leq n \leq 10^5$$$) и $$$t$$$ — номер подзадачи. В следующей строке записаны через пробел $$$n$$$ целых неотрицательных чисел $$$h_i,\, i = 1,..,n$$$, не превосходящих $$$10^9$$$ – последовательные длины всех полос в метрах. Номер подзадачи $$$t$$$ определяет дополнительные ограничения на вид входных данных (см. описание системы оценивания ниже).

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

В выходной файл требуется вывести единственное число — максимальную площадь участка.

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

Решение задачи оценивается независимо на каждом тесте. За каждый успешно пройденный тест, кроме тестов из условия, начисляется 2 балла. Прохождение тестов из условия является необходимым условием для оценивания задачи на остальных тестах. Остальные тесты оцениваются независимо друг от друга. Тесты разбиты на следующие группы тестов, соответствующие номеру подзадачи $$$t$$$ во входных данных задачи:

Номер подзадачиОписаниеТесты в группеБалл за группу
0Тесты из условия1 – 20
1Дополнительное ограничение: $$$n \leq 1000$$$3 – 710
2Дополнительное ограничение: последовательность длин полос является монотонно неубывающей, то есть для каждого $$$i = 1, ..., n - 1$$$ выполнено: $$$h_i \leq h_{i+1}$$$8 – 1210
3Дополнительное ограничение: побережье имеет форму бухты, то есть существует некоторое $$$j$$$, такое что $$$1 \leq j \leq n$$$ и $$$h_i \geq h_{i+1}$$$ для всех $$$i = 1, .., j-1$$$ и $$$h_i \leq h_{i+1}$$$ для всех $$$i = j, ..., n$$$13 – 1710
4Дополнительное ограничение: побережье имеет форму мыса, то есть существует некоторое $$$j$$$, такое что $$$1 \leq j \leq n$$$ и $$$h_i \leq h_{i+1}$$$ для всех $$$i = 1, .., j-1$$$ и $$$h_i \geq h_{i+1}$$$ для всех $$$i = j, ..., n$$$18 – 2210
5Дополнительное ограничение: $$$h_i \leq 100$$$ для всех $$$i = 1, ..., n$$$23 – 2710
6Без дополнительных ограничений28 – 5250

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