Вам, как великому повелителю чисел, поручено выполнить одно архиважное задание, от которого, как утверждают древние пророчества, зависит судьба не только конкурсной таблицы, но и, быть может, всей вычислительной вселенной. $$$ \\ $$$ В некотором королевстве целых чисел обитает благородное множество $$$ S=\{1,2,3,\cdots,n\} $$$, в котором нет ни одного повторяющегося элемента — каждый житель уникален. Однако в последнее время в этом множестве начали происходить странные события. $$$ \\ $$$ Великий прорицатель, используя магические силы предсказания, заранее определил, как именно будут располагаться первые mm чисел итоговой перестановки. Эти элементы уже прочно закрепились на своих позициях в начале будущего массива — и сдвинуть их невозможно, ибо они уже запечатаны волей судьбы. $$$ \\ $$$ Ваша задача, о могучий упорядочиватель, заключается в следующем: определить порядок оставшихся $$$ n-m $$$ элементов $$$ (p_{m+1},p_{m+2},\cdots,p_{n}) $$$, так чтобы, после объединения с предсказанным префиксом, полученная перестановка $$$ p=\left[ p_1,p_2,p_3,\cdots,p_n \right] $$$ была всё ещё корректной (то есть содержала все числа от $$$ 1 $$$ до $$$ n $$$ ровно по одному разу), но при этом количество инверсий в ней было минимально возможным. $$$ \\ $$$ Определения:
Первая строка содержит два целых числа $$$ n $$$ и $$$ m $$$ $$$ (1 \le m \lt n \le 10^{5}) $$$ — общее количество элементов и количество зафиксированных чисел соответственно. $$$ \\ $$$ Вторая строка содержит $$$ m $$$ различных целых чисел: $$$ p_1,p_2,\cdots,p_m $$$, каждая из которых принадлежит диапазону от $$$ 1 $$$ до $$$ n $$$, и все они различны.
Выведите $$$ n-m $$$ целых чисел — элементы $$$ p_{m+1},p_{m+2},\cdots,p_n$$$, такие, чтобы результат $$$ p=\left[ p_1,p_2,p_3,\cdots,p_n \right] $$$ был корректной перестановкой, а количество инверсий в нём было минимально возможным.
10 7 5 1 2 9 3 4 6
7 8 10
5 4 1 2 3 4
5
Вам дано футбольное поле в трёхмерном пространстве. Мяч изначально находится в точке $$$(x, y, z)$$$. Перед мячом расположены ворота — прямоугольный параллелепипед с одной вершиной в точке $$$(0, 0, 0)$$$ и противоположной в точке $$$(A, B, C)$$$.
После удара мяч начинает лететь с начальной скоростью $$$v$$$ в направлении, определяемом двумя углами:
В каждый момент времени $$$t \ge 0$$$ положение мяча задаётся формулами:
$$$X(t) = x + v \cdot \cos(\phi) \cdot \cos(\theta) \cdot t$$$
$$$Y(t) = y + v \cdot \cos(\phi) \cdot \sin(\theta) \cdot t$$$
$$$Z(t) = z + v \cdot \sin(\phi) \cdot t - \frac{1}{2} \cdot g \cdot t^2$$$
где $$$g = 9.81$$$, а углы переводятся в радианы:
$$$\theta_\text{рад} = \theta \cdot \pi / 180$$$, $$$\phi_\text{рад} = \phi \cdot \pi / 180$$$.
Вам нужно определить, попадёт ли мяч когда-либо в объём ворот.
Считается, что мяч находится внутри ворот, если в некоторый момент времени $$$t \ge 0$$$ его положение $$$(X(t), Y(t), Z(t))$$$ удовлетворяет всем условиям:
$$$0 \le X(t) \le A$$$, $$$0 \le Y(t) \le B$$$, $$$0 \le Z(t) \le C$$$
В одной строке даны 9 вещественных чисел:
$$$x,y,z,A,B,C,\theta,\phi,v$$$
Где:
Все значения — вещественные числа, такие что $$$(0 \le x,y,z,A, B, C, v \le 1000)$$$, $$$(0 \le \theta \le 360)$$$ и $$$(-90 \le \phi \le 90)$$$.
Выведите YES, если мяч в какой-то момент попадёт в ворота. В противном случае выведите NO.
10 10 10 30 30 30 180 0 10
YES
100 100 100 10 10 10 0 0 1
NO
В далеком будущем информация — самый ценный ресурс. Ты — элитный криптограф в Межгалактической разведке. Недавно был перехвачен бинарный сигнал $$$s$$$ длиной $$$n$$$ — предположительно, сообщение вражеской организации. По данным разведки, они используют специальный код $$$t$$$ длины $$$m$$$, который вставляется в передаваемые сигналы, чтобы передать секретные команды.
Но есть проблема: из-за космических помех часть битов могла быть случайно испорчена. Теперь перед тобой стоит важная задача: изменить минимум битов в сигнале $$$s$$$, чтобы в нем ровно $$$k$$$ раз встречалась подстрока $$$t$$$, для каждого возможного $$$k$$$ от $$$0$$$ до $$$n - m + 1$$$.
Минимальное число изменений — это количество замен 0 → 1 или 1 → 0, которые нужно сделать в $$$s$$$, чтобы точно $$$k$$$ вхождений подстроки $$$t$$$ появилось в измененной версии $$$s$$$.
Штаб-квартира ждет отчета: для каждого $$$k$$$ — какова минимальная цена (в изменениях), чтобы получить $$$k$$$ вхождений $$$t$$$?
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ — длины бинарных строк a и b соответственно $$$ (1 \le m \le n \le 500) $$$. Вторая строка содержит бинарную строку $$$s$$$ длины $$$n$$$. Третья строка содержит бинарную строку $$$t$$$ длины $$$m$$$.
Выведите $$$n - m + 2$$$ целых чисел: Пусть $$$k$$$ — это количество вхождений строки $$$b$$$ в строку $$$a$$$. Тогда $$$k+1$$$-е выведенное число должно означать минимальное число изменений (замен 0 на 1 или 1 на 0) в строке $$$s$$$, которые необходимо сделать, чтобы строка $$$t$$$ встретилась ровно $$$k$$$ раз как подстрока в $$$s$$$.
5 2 01010 10
2 1 0 -1 -1
k = 0 (чтобы убрать все вхождения 10): Можно изменить 1 символ, например 01010 → 00000, тогда 10 ни разу не встретится. Ответ: 2.
k = 1 (чтобы осталась одна подстрока 10): Строка 01010 можно оставить как есть и изменить один из двух вхождений. Например: 01010 → 01110. Ответ: 1.
k = 2 (оставить оба вхождения): Исходная строка уже подходит. Ничего менять не нужно. Ответ: 0.
В Университете Нархоз декан верит в идеальное равенство: каждый преподаватель должен проводить одинаковое количество лекций — ни больше, ни меньше. Вдохновленная этой справедливостью, студентка по имени Айгерим определяет "хороший сегмент" массива следующим образом:
> Сегмент является хорошим, если каждое различное число в нем появляется ровно одинаковое количество раз.
Вам дан массив $$$a$$$ длиной $$$n$$$, где каждый элемент представляет собой ID преподавателя, назначенного на лекцию. $$$ \\ $$$ Вам также даны $$$q$$$ запросов. Для каждого запроса вам нужно определить, является ли сегмент массива от позиции $$$l$$$ до $$$r$$$ (включительно) хорошим.
Помогите Айгерим определить, какие сегменты соответствуют правилу справедливости декана.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ $$$(1 \le n,q \le 10^{5},q \bmod 5 = 0 )$$$ — количество лекций и количество запросов.$$$ \\ $$$ Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \cdots, a_n$$$ $$$(1 \le a_i \le n)$$$— ID преподавателей, назначенных на каждую лекцию.$$$ \\ $$$ Каждая из следующих $$$q$$$ строк содержит два целых числа $$$l$$$ и $$$r$$$ $$$(1\le l \le r \le n)$$$ — границы проверяемого сегмента.
Для каждого запроса выведите yes, если отрезок хороший, иначе выведите no.
После вывода ответов на группу запросов не забудьте вывести символ конца строки и сбросить буфер вывода. В противном случае вы можете получить вердикт Idleness Limit Exceeded. Для сброса буфера используйте:
Вы должны сбрасывать буфер вывода после $$$5$$$-го, $$$10$$$-го, $$$15$$$-го запроса (и так далее), то есть после каждого запроса с индексом, кратным $$$5$$$. После этого вы можете читать следующую группу запросов.
7 51 2 3 4 4 5 51 51 44 54 72 3
no yes yes yes yes
У студента Бекзата есть $$$n$$$ шариков. Каждый шарик либо красный (обозначается символом R), либо синий (символ B). Он выстроил их в один ряд и хочет узнать:
Можно ли, выполнив не более одного обмена соседних шариков, добиться того, чтобы после каждого красного шарика сразу следовал синий?
Одна строка $$$s$$$ $$$(2 \le |s| \le 100)$$$ , состоящая только из символов R и B.
Выведите YES, если можно за один обмен соседних шариков получить правильную последовательность, иначе — NO.
BR
YES
Можно поменять местами B и R, получится RB
Комитет по Национальным Археологическим Исследованиям в Исследовании Организованных Зон (NARXOZ) обнаружил старинный сундук в Алматинской области. Однако на сундуке был замок с паролем, который состоит из $$$n$$$ положительных чисел.
К счастью, учёные также нашли правильную версию этого списка — ту, которая открывает сундук.
Вам даны два списка чисел: пароль, который сейчас установлен на замке, и пароль, который открывает сундук.
Чтобы изменить текущий пароль на правильный, вы можете использовать следующую операцию:
Вы можете повторять эту операцию сколько угодно раз. Ваша цель — сделать текущий список в точности таким же, как правильный, используя минимальное количество операций.
Если сделать два списка одинаковыми невозможно, выведите -1.
NARXOZ проводит конкурс: тот, кто быстрее всех решит эту задачу, получит отличное предложение о работе. Вы хотите победить — так что приступайте к работе!
В первой строке дано одно целое число $$$n$$$ ($$$1 \le n \le 3*10^5$$$) — длина пароля.
Во второй строке содержатся $$$n$$$ положительных целых чисел — текущая версия пароля.
В третьей строке содержатся $$$n$$$ положительных целых чисел — правильная версия пароля.
Все значения чисел положительные и не превышают $$$10^9$$$.
Выведите одно число — минимальное количество операций, необходимое для превращения текущего списка в правильный. Если это невозможно, выведите -1.
34 7 31 7 6
3
43 1 4 22 2 3 3
-1
В первом примере можно выполнить операции в следующем порядке: обменять $$$(1, 2)$$$, обменять $$$(2, 3)$$$ и обменять $$$(1, 2)$$$. Можно показать, что другого способа с меньшим количеством операций не существует.
Во втором примере не существует корректного порядка операций, чтобы получить правильную версию пароля из текущей.
В университете Narxoz профессор по алгоритмам дал студентам очередную головоломку. Он выдал массив $$$A$$$ длины $$$n$$$, записанный на доске, и массив $$$B$$$ длины $$$m$$$, который называется эталонной последовательностью.
Студенты могут применять к отрезкам массива $$$A$$$ следующую специфическую операцию очистки:
Профессор хочет узнать: сколько существует таких отрезков $$$A[L..R]$$$, которые можно очистить, чтобы в результате получить массив $$$B$$$?
Помогите студентам Narxoz решить задачу и заслужить дополнительный балл на экзамене!
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 100$$$, $$$m \le n$$$) — длины массивов $$$A$$$ и $$$B$$$.
Вторая строка содержит $$$n$$$ целых чисел $$$A_1, A_2, \dots, A_n$$$ ($$$1 \le A_i \le 10^9$$$).
Третья строка содержит $$$m$$$ целых чисел $$$B_1, B_2, \dots, B_m$$$ ($$$1 \le B_i \le 10^9$$$).
Выведите одно целое число — количество отрезков массива $$$A$$$, которые можно преобразовать в массив $$$B$$$ описанным способом.
3 2 1 1 2 1 2
2
Два студента — Ерлан и Даулет — увлекаются математикой и любят проводить эксперименты с числами.Однажды Ерлан выбрал число $$$a$$$, а Даулет — число $$$b$$$. Вместе они решили вычислить выражение $$$a^2$$$ - $$$b^2$$$ и узнать, может ли результат быть простым числом.
Напомним, что простое число — это целое число больше 1, которое делится только на 1 и на само себя. Помогите студентам выяснить, получился ли у них такой результат.
Первая строка содержит два целых числа $$$a$$$ и $$$b$$$ $$$(1 \le b \lt a \le 10^{12} ) $$$ — числа, выбранные Ерланом и Даулетом соответственно.
Выведите YES (без кавычек), если значение выражения является простым числом, иначе выведите NO.
Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).
2 1
YES
На арене сегодня - Seduneon, и он готов пройти сквозь матрицу, чтобы достичь финального угла (n, n), выжав максимум из всех побитовых AND! $$$ \\ $$$ Задана квадратная матрица размером $$$ n \times n $$$ , состоящая из неотрицательных целых чисел. $$$ \\ $$$ Седунеон начинает в левом верхнем углу матрицы - клетке $$$(1,1)$$$ — и хочет дойти до правого нижнего угла — клетке $$$(n,n)$$$ $$$ \\ $$$ На каждом шаге он может двигаться вниз или вправо. $$$ \\ $$$ Профит пути — это побитовая операция AND всех чисел, встреченных на пути (включая начальную и конечную клетку). $$$ \\ $$$ Ваша задача — найти максимально возможный профит, который может получить седунеон, выбрав оптимальный путь.
Первая строка содержит одно целое число $$$ n $$$ $$$(1 \le n \le 1000) $$$ — размер матрицы. $$$ \\ $$$ Следующие $$$n$$$ строк содержат по $$$n$$$ целых чисел $$$ a_{i,j} $$$ $$$(0 \le a_{i,j} \le 2^{26}-1) $$$ — элементы матрицы
Выведите одно число — максимально возможный профит (AND всех чисел вдоль оптимального пути из $$$ (1,1) $$$ в $$$(n,n)$$$)
3 7 3 3 6 3 7 4 4 4
4
5 66969516 62881771 41514568 11972118 43940139 57756114 60816879 60776426 34516231 9491106 59277745 6543967 60776122 62741759 45421615 11938623 3439903 5163738 67108333 65003244 24596084 58055461 47893159 41145539 60652974
60644520
В университете Нархоз факультеты — это не просто кафедры, это часть живой, развивающейся структуры.
Существует $$$n$$$ факультетов, расположенных в круглом здании. Это значит, что факультет $$$0$$$ является соседом факультета $$$n - 1$$$. У каждого факультета есть тип — возможно, это экономика, бизнес или даже магическая бухгалтерия — и каждый тип представлен целым числом.
Университет оснащён высокотехнологичными порталами, позволяющими мгновенно перемещаться между любыми двумя факультетами одного и того же типа.
Но иногда этого недостаточно. Поэтому разрешается строить коридоры между соседними факультетами, то есть между факультетом $$$i$$$ и $$$(i + 1) \bmod n$$$. После строительства по ним можно свободно передвигаться в обоих направлениях.
Кроме того, факультеты любят менять свой имидж. В любой момент факультет может изменить свой тип (вдруг они решили перейти на крипто-финансы).
Вы получите $$$q$$$ запросов, каждый из которых может быть одного из следующих видов:
Ваша задача — для каждого запроса типа 3 вывести YES, если перемещение возможно, и NO в противном случае.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ — количество факультетов и количество запросов соответственно ($$$1 \le n, q \le 10^5$$$).
Вторая строка содержит $$$n$$$ целых чисел: $$$t_0, t_1, \dots, t_{n-1}$$$ — начальные типы факультетов ($$$0 \le t_i \lt 10^{18}$$$).
Каждая из следующих $$$q$$$ строк описывает один запрос в одном из следующих форматов:
Гарантируется, что все запросы типа $$$2$$$ — уникальны (между каждой парой соседей можно построить коридор не более одного раза).
Для каждого запроса типа $$$3$$$ выведите YES, если из факультета $$$a$$$ можно добраться до факультета $$$b$$$, иначе выведите NO.
3 3 0 0 2 2 2 3 0 2 1 0 0
YES
10 9 2 1 0 1 2 1 2 0 2 2 2 6 1 5 3 2 5 1 5 4 3 0 6 1 9 3 2 2 2 7 3 9 3
YES NO