Когнитивные технологии 2023-2024. Первый отбор
Statement is not available in English language
A. Магнит VK
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Школьник Василий, как и многие его ровесники, любит проводить время в социальной сети ВКонтакте. Долгое время он пытался раздобыть магнитик VK себе на холодильник. Но нигде такого не находил. И вот однажды в гостях у двоюродного брата он увидел на холодильнике слово, составленное из букв английского алфавита. Каждая буква была магнитом и все они были синего цвета, поэтому Василию пришла в голову идея составить из этих букв надпись VK для своего холодильника. Тем более что брату эти буквы были не нужны.

Помогите Василию разобраться, может ли он найти в слове две заглавные буквы V и K, чтобы забрать их себе на холодильник. Если таких букв нет, то проверьте найдутся ли две строчные буквы v и k в слове (в крайнем случае Василий готов составить надпись vk из двух строчных букв).

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

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

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

Если в заданной строке можно найти две заглавные буквы V и K, то в единственной строке выведите слово «VK» (без кавычек).

Если в заданной строке не удалось найти две заглавные буквы V и K, но можно найти две строчные буквы v и k, то в единственной строке выведите слово «vk» (без кавычек).

В противном случае в единственной строке выведите грустный смайлик «:(» (без кавычек).

Примеры
Входные данные
viking
Выходные данные
vk
Входные данные
KILOVOLT
Выходные данные
VK
Входные данные
Kvass
Выходные данные
:(

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

Однажды Робин Гуд нашёл массив из $$$n$$$ целых чисел. Он непременно решил уравнять этот массив, то есть сделать все элементы равными. Для этого он может выполнить над массивом несколько (возможно ноль) операций.

За одну операцию Робин Гуд может выбрать три подряд идущих элемента массива и заменить их на медиану этих трёх элементов.

Медианой набора чисел $$$a_1, a_2, \ldots, a_{2m-1}$$$ называется число $$$c_m$$$, где $$$c_1, c_2, \ldots, c_{2m-1}$$$ — набор чисел $$$a_1, a_2, \ldots, a_{2m-1}$$$, отсортированный по неубыванию. Например, медиана набора чисел $$$5, 2, 3$$$ равна $$$3$$$, а медиана набора чисел $$$4, 8, 4$$$ равна $$$4$$$.

Можно показать, что такими операциями всегда можно уравнять массив длины хотя бы $$$3$$$. Например, массив $$$[2, 4, 5, 5, 9]$$$ можно уравнять так: $$$[2, 4, 5, 5, 9] \to [2, 5, 5, 5, 9] \to [5, 5, 5, 5, 9] \to [5, 5, 5, 5, 5]$$$.

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

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

В первой строке дано целое число $$$n$$$ ($$$3 \le n \le 2 \cdot 10^5$$$) — количество элементов в массиве.

Во второй строке даны $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — элементы массива.

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

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

Примеры
Входные данные
5
1 2 4 4 2
Выходные данные
4
Входные данные
6
4 7 2 1 9 18
Выходные данные
9
Входные данные
3
2 1000000000 2
Выходные данные
2

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

Магнус Карлсен и Хикару Накамура вышли в финал чемпионата мира по быстрым шахматам. После серии ничейных партий в тай-брейке им предстоит сыграть партию-армагеддон. Правила этой партии аналогичны обычным, за исключением одного: при ничейном исходе партии победителем объявляется шахматист, игравший черными.

У Хикару и Магнуса есть стратегия, как быстро получить ничью за черных, но для этого им нужно, чтобы изначально на часах у них было не меньше $$$k$$$ минут и $$$s$$$ секунд. Если времени на часах будет меньше, то шахматист не успеет сделать ничью и проиграет.

Количество времени на часах у черных и кто будет играть за черных определяется следующим образом:

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

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

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

В первой строке задаются значения $$$k_1$$$ и $$$s_1$$$ ($$$1 \leq k_1 \leq 10$$$, $$$0 \leq s_1 \lt 60$$$) — время, которое нужно Хикару, чтобы сделать ничью за черных.

Во второй строке задаются значения $$$k_2$$$ и $$$s_2$$$ ($$$1 \leq k_2 \leq 10$$$, $$$0 \leq s_2 \lt 60$$$) — время, которое нужно Магнусу, чтобы сделать ничью за черных.

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

Если у Магнуса есть стратегия, которая позволяет ему гарантированно выиграть, выведите -1. Иначе выведите ставку Хикару (количество минут и секунд), которая максимизирует его шансы стать чемпионом. Если таких ставок несколько, выведите минимальную.

Пример
Входные данные
7 59
8 0
Выходные данные
7 59
Примечание

В примере оптимальной ставкой для Хикару является 7:59. Рассмотрим возможные варианты для Магнуса:

  • Магнус поставит меньше чем Хикару. Тогда он будет играть черными, однако на часах у него будет 7:59. Магнус не успеет сделать ничью и Хикару выиграет.
  • Магнус поставит поставит больше чем Хикару. Тогда Хикару будет играть черными, на часах у него будет достаточно времени, чтобы сделать ничью, а значит Хикару выиграет.
  • Ставка Магнуса ровна ставке Хикару и Хикару играет черными. У него достаточно времени, чтобы сделать ничью, а значит Хикару выиграет.
  • Ставка Магнуса равна ставке Хикару и Магнус играет черными. У него недостаточно времени, чтобы сделать ничью, а значит Хикару выиграет.
Если Хикару сделает другую ставку, то Магнус сможет поставить такую ставку, при которой Хикару не сможет гарантированно выиграть матч.

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

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

Гильдия предлагает $$$n$$$ воинов и у $$$i$$$-го воина $$$h_i$$$ единиц здоровья и $$$d_i$$$ единиц атаки. У монстра, которого надо убить, $$$a$$$ единиц здоровья.

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

  1. Сначала каждый живой герой наносит монстру урон, равный значению его атаки. Если здоровье монстра упало до нуля, битва завершается;
  2. Затем, если монстр еще жив, он наносит каждому герою по единице урона. Каждый герой, чей уровень здоровья упал до нуля, умирает.

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

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

В первой строке входные данных содержится одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных.

Далее следует описание наборов.

В первой строке каждого набора содержится целое число $$$a$$$ ($$$1 \leq a \leq 10^9$$$) — здоровье монстра.

Во второй строке каждого набора содержится целое число $$$n$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$) — общее число воинов, которых предлагает гильдия для найма.

В третьей строке каждого набора содержатся $$$n$$$ целых чисел $$$h_1, h_2, \ldots, h_n$$$ ($$$1 \leq h_i \leq 10^9$$$) — единицы здоровья каждого героя.

В четвертой строке каждого набора содержатся $$$n$$$ целых чисел $$$d_1, d_2, \ldots, d_n$$$ ($$$1 \leq d_i \leq 10^9$$$) — единицы атаки каждого героя.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных в отдельной строке выведите единственное целое число:

  • минимальное количество героев, которое нужно нанять, чтобы убить монстра без потерь,
  • или $$$-1$$$, если это невозможно.
Пример
Входные данные
2
12
5
1 2 3 3 4
2 4 1 1 1
10
1
1
14
Выходные данные
3
1
Примечание

В первом наборе входных данных достаточно трёх героев, чтобы убить монстра без потерь. Например, это могут быть герои с номерами $$$2$$$, $$$3$$$, $$$4$$$. Их суммарная атака равна $$$6$$$ и они убивают монстра за две атаки.

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

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

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

Вместо этого рассмотрим наибольшее общее простое двух натуральных чисел $$$\operatorname{gcp}(a, b)$$$ — это такое наибольшее простое число, на которое одновременно делится и $$$a$$$, и $$$b$$$.

Заметим, что не для любой пары чисел определено их наибольшее общее простое. Например, $$$\operatorname{gcp}(10, 15) = 5$$$, a $$$\operatorname{gcp}(2, 3)$$$ не определено.

Вам предстоит ответить на $$$t$$$ запросов, содержащих пару чисел $$$l$$$ и $$$r$$$. Для каждого запроса вам нужно:

  • найти наибольшее простое число $$$p$$$ такое, что существуют два числа $$$a$$$ и $$$b$$$ $$$(a \neq b)$$$ на отрезке $$$[l;r]$$$ такие, что $$$\operatorname{gcp}(a, b)=p$$$,
  • или сообщить, что такого простого числа $$$p$$$ не существует.

Например, пусть заданы $$$l = 3$$$, $$$r = 10$$$. Тогда $$$p = 5$$$, так как $$$\operatorname{gcp}(5, 10) = 5$$$.

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

В первой строке входные данных содержится одно целое число $$$t$$$ $$$(1 \leq t \leq 1000)$$$.

Далее следует $$$t$$$ строк, в каждой из которых содержатся два числа $$$l$$$ и $$$r$$$ $$$(1 \leq l \leq r \leq 10^9)$$$ — отрезок запроса.

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

Для каждого запроса в отдельной строке выведите ответ:

  • наибольшее простое число $$$p$$$, для которого на отрезке $$$[l, r]$$$ существуют два разных числа $$$a$$$ и $$$b$$$ таких, что $$$\operatorname{gcp}(a, b)=p$$$,
  • или $$$-1$$$, если такого числа не существует.
Пример
Входные данные
4
1 100
5000 100500
800000000 1000000000
79 81
Выходные данные
47
50231
166666649
-1
Примечание

В примере $$$p = 47$$$, так как на отрезке $$$[1, 100]$$$ существуют числа $$$a = 47$$$, $$$b = 94$$$ такие, что $$$\operatorname{gcp}(a, b) = \operatorname{gcp}(47, 94) = 47$$$.

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

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

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

В первой строке находятся два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n, m \leq 10^5$$$) — размеры множеств.

В следующих $$$n$$$ строках находятся координаты $$$x_i$$$, $$$y_i$$$ ($$$-10^8 \leq x_i, y_i \leq 10^8$$$, $$$1 \leq i \leq n$$$) точек первого множества, по одной точке в каждой строке.

В следующих $$$m$$$ строках находятся координаты $$$x_j$$$, $$$y_j$$$ ($$$-10^8 \leq x_j, y_j \leq 10^8$$$, $$$1 \leq j \leq m$$$) точек второго множества, по одной точке в каждой строке.

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

Требуется вывести одно целое число — минимальное расстояние между точками, возведённое в квадрат.

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

В первом тесте ответ $$$4$$$ достигается, если выбрать точки $$$(0, 0)$$$ и $$$(2, 0)$$$.