По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы чиатем не кдаужю бкуву по отдльенотси, а все солво цликеом. Вдохновившись исследованием британских учёных о восприятии человеком текста, Вася решил, что современная письменность нуждается в серьёзном упрощении. В частности, в лексиконе Васи все слова состоят только из букв \(a\), \(b\) и \(c\). Кроме того, память у Васи плохая, поэтому Вася помнит лишь слова, которые содержат не более \(L\) букв.
Более того, с тех пор как наш юный друг пролил кофе на свой любимый ноутбук, он не утруждает себя нажатием клавиши пробел (объясняя это тем, что и отсутствие пробелов в тексте совершенно не мешает его пониманию). Однако остальные клавиши клавиатуры работают исправно, что позволяет Васе набирать все известные ему слова без единой орфографической ошибки.
Британские учёные очень заинтересовались исследованиями Васи. Они вступили с молодым учёным в активную переписку, однако, получив очередное Васино сообщение были несколько озадачены тем, что же он имел ввиду. Так как разобраться они так и не смогли, а очередное революционное открытие уже было проанонсировано в СМИ, они решили как-то оценить уровень гениальности автора. Для этого они решили понять, а из какого минимального количества слов может состоять словарный запас Василия?
В первой строке входных данных содержится целое число L — максимальная длина слова, которое может содержаться в лексиконе Васи (\(1 \le L \le 10 000\)). В следующей строке содержится непустое сообщение, полученное учеными. Длина сообщения не превосходит 20 000 символов.
В первой строке выведите единственное число \(K\) — минимальное количество слов, которые должен знать Василий, чтобы написать данное сообщение. В следующих \(K\) строках выведите сами слова, каждое из которых должно иметь длину не превосходящую \(L\). В случае, если ответов несколько, разрешается выдать любой из них.
В первом примере из условия одним из возможных способов проинтерпретировать Васино сообщение является: ab aba ab ab
Тесты к этой задаче состоят из восьми групп. Баллы за группы 1-4 ставятся только при прохождении всех тестов группы. Тесты в группах 5-7 оцениваются независимо. Баллы за каждую группу ставятся только при прохождении всех тестов предыдущих групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.
3 ababaabab
2 a b
Скоро в Соединенных Штатах Берляндии пройдут выборы президента. На эту ответственную должность претендуют два кандидата: Дядя Сэм и Дядя Фродо. Вы работаете аналитиком в пред- выборном штабе Дяди Сэма, и вам поручено помочь ему победить конкурента. Раздуть газетный скандал из одержимости оппонента бросанием колец в жерла вулканов не получилось, так что придётся воспользоваться математикой.
Казалось бы, чтобы выиграть, необходимо убедить проголосовать за нашего кандидата более половины пришедших на выборы. Оказывается, что иногда нужно гораздо меньше! Для того чтобы понять, как это возможно, рассмотрим подробнее процедуру голосования.
Как вы знаете, Соединенные Штаты Берляндии разделены на несколько административных регионов первого уровня — штатов. Сначала в каждом из штатов проходят местные выборы, по итогам которых каждый штат отдаёт свой голос за одного из кандидатов. Если не менее половины штатов выбрало Дядю Сэма, то выигрывает он (в случае равенства голосов Дядя Сэм имеет преимущество как действующий президент), иначе побеждает Дядя Фродо. Все штаты, в свою очередь, состоят из административных регионов второго уровня, каждый из которых представлен выборщиком из административных регионов третьего уровня и так далее. Последний уровень состоит из отдельных жителей Берляндии. Всего в Берляндии \(N\) жителей и \(K\) уровней административных единиц. Одним из ключевых принципов этой страны является равенство, так что любой регион \(i\)-го уровня делится на одинаковое число регионов следущего уровня (в том числе содержит одинаковое число граждан).
Так получилось, что делением на регионы поручили заняться именно вам, то есть в ваших руках назначить, на сколько именно административных единиц \(i\)-го уровня делится (\(i−1\))-ая административная единица.
Также у вас есть сильный инструмент влияния на выбор людей — нефтяные бурли. Чтобы заставить одного избирателя отдать свой голос за Дядю Сэма, достаточно дать ему скромный подарок в размере одного нефтяного бурля.
К несчастью, изначально все \(N\) жителей Соединённых Штатов Берляндии собираются отдать свой голос за Дядю Фродо. Требуется определить минимальное количество нефтяных бурлей, которое достаточно потратить для победы на выборах.
В единственной строке ввода находятся два целых числа \(N\) и \(K\) (\(1 \le N \le 10^{15} , 1 \le K \le 10\)).
Требуется вывести единственное число — минимальное количество нефтяных бурлей, которое придётся потратить на предвыборные подарки при наилучшем разбиении на регионы.
Берляндские законы не запрещают, чтобы страна состояла из одного штата, а город — одного жителя. Аналогично с остальными типами регионов.
Тесты к этой задаче состоят из семи групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования. Обратите внимание, что решение принимается на проверку только при прохождении тестов из условия.
9 2
4
12 3
2
В научно-исследовательском институте чародейства и волшебства пожар! Во время опыта Корнеева В. П. по превращению всей морской и океанской воды планеты в живую воду произошло короткое замыкание, и теперь его кабинет объят пламенем. Задача первостепенной важности — спасти из огня ценные лабораторные приборы, в особенности единственный в своём роде диван- транслятор \(µ\)-поля. Ваша задача — перенести диван-транслятор из кабинета Корнеева в запасную лабораторию изучения \(µ\)-поля.
НИИЧАВО состоит из \(N\) кабинетов, соединённых \(M\) коридорами. Кабинеты пронумерованы целыми числами от 1 до \(N\), при этом кабинет Корнеева имеет номер \(A\), а лаборатория изучения \(µ\)-поля расположена в кабинете номер \(B\). Благодаря специальному искажению пространства внутри института, все коридоры имеют одинаковую длину, которую можно пройти за 1 минуту, если двигаться быстрым шагом.
Ситуация усугубляется тем, что диван-транслятор — прибор, очень чувствительный к резким пе- репадам температуры. Внутри каждого коридора НИИЧАВО поддерживается свой температурный режим. Если абсолютная величина разности температур в двух последовательных коридорах на пути из кабинета Корнеева в лабораторию окажется больше \(D\) градусов, то диван-транслятор пе- рейдёт в нестабильное состояние, что может привести к катастрофическим последствиям. Обратите внимание, что на своём пути вы не заходите в сами кабинеты, а только переходите из коридора в коридор, поэтому климат внутри кабинетов не влияет на диван-транслятор. В силу причин магического характера, войдя в коридор, вы обязаны дойти до его конца, иными словами, останавливаться или разворачиваться посреди коридора запрещено. По каждому коридору можно перемещаться в обоих направлениях.
Определите, за какое минимальное время можно добраться из кабинета Корнеева до запасной лаборатории, не допуская резкого перепада температур. В рамках данной задачи вам предлагается ответить на поставленный вопрос для нескольких пар значений \(A\) и \(B\).
В первой строке входных данных следуют три целых числа \(N\), \(M\) и \(D\) (\(2 \le N \le 100 000, 1 \le M \le 200 000, 0 \le D \le 2 · 10^8\)), обозначающие количество кабинетов, количество коридоров в НИИЧАВО и максимальный допустимый перепад температур для дивана-транслятора в граду- сах.
В последующих \(M\) строках находятся описания коридоров. Каждая строка содержит по три целых числа \(u_i\), \(v_i\), \(t_i\) — номера двух кабинетов, соединённых \(i\)-м коридором, и значение температуры в этом коридоре, выраженное в градусах (\(1 \le u_i, v_i \le N, −10^9 \le t_i \le 10^9\) ). Как вы уже могли понять, НИИЧАВО — весьма необычное заведение, поэтому между двумя кабинетами может пролегать несколько коридоров, возможно с разными температурами, а некоторые коридоры могут соединять кабинет с самим собой. Гарантируется, что коридоры перечислены во входном файле в порядке неубывания \(t_i\) .
В следующей строке находится целое число \(Q\) (\(1 \le Q \le 50\)) — количество пар \(A\) и \(B\), которые вам требуется обработать.
В каждой из последующих \(Q\) строк находятся по два целых числа \(A_i\) , \(B_i\) , обозначающих номер кабинета Корнеева и номер кабинета, в котором расположена лаборатория (\(1 \le A_i , B_i \le N, A_i ̸= B_i\)).
Для каждого набора данных выведите в отдельной строке минимальное количество минут, которое требуется потратить, чтобы добраться из кабинета Корнеева до лаборатории, либо выведите −1, если сделать это, используя допустимый для дивана-транслятора маршрут, невозможно.
Тесты к этой задаче состоят из 4 групп. Баллы за группы 1 и 2 ставятся только при прохождении всех тестов группы. В группе 3 тесты оцениваются независимо.
Тестирование на группе производится только при прохождении всех тестов предыдущих групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.
6 9 5 6 6 -42 1 2 4 2 3 6 3 2 7 2 5 11 6 1 12 1 3 15 3 4 16 5 6 18 2 1 5 4 2
4 -1
6 9 7 6 6 -42 1 2 4 2 3 6 3 2 7 2 5 11 6 1 12 1 3 15 3 4 16 5 6 18 1 4 2
5
Улица М. города Д. печально известна среди местных жителей качеством дорожного покрытия. В этом тяжело винить ремонтные службы: пожалуй, они следят за этой улицей даже слишком тщательно. Проблема в том, что каждый без исключения ремонт улицы выглядит следующим образом: бригада рабочих выбирает некоторый участок улицы единичной длины и меняет асфальт только на нём, причём тип асфальта на этом участке в результате может отличаться от типов асфальта на других участках, что, разумеется, усложняет проезд по улице.
Вы, как коренной житель города Д. и программист по призванию, решили использовать свои профессиональные навыки на благо общества и облегчить жизнь своим соседям по улице \(М\). А именно, вы решили создать сайт, содержащий актуальную информацию о непроходимости улицы. Прежде всего, вы заметили, что улица разбита на N идущих друг за другом участков единичной длины. По странному совпадению бригада рабочих всегда выбирает для ремонта ровно один из таких участков и целиком меняет тип асфальта на нём. Затем вы пронумеровали эти участки от 1 до \(N\) и собрали информацию о типе асфальта на каждом из участков — числа \(t_1, t_2, ... , t_N\) (\(t_i\) — номер типа асфальта на \(i\)-м участке, согласно Государственному реестру дорожных покрытий). Наконец, вы определили непроходимость улицы как минимальное количество непрерывных непересекающихся отрезков c одинаковым типом асфальта, на которые она разбивается. Например, непроходимость улицы 110111 равна \(3\), потому что она состоит из трёх участков 11, 0 и 111, а идеальная улица 2222 имеет непроходимость, равную \(1\).
Казалось бы, достаточно вычислить и разместить на сайте текущую величину непроходимости улицы, и жители будут довольны? К сожалению, асфальт меняют довольно часто, и вам не хочется каждый раз выходить на улицу и заново собирать данные. Поэтому вы дали возможность жителям сообщать на вашем сайте об обновлении дорожного покрытия. Дело осталось за малым — научиться обновлять после каждого такого сообщения актуальную величину непроходимости улицы.
Первая строка входного файла содержит единственное натуральное число \(N\) — количество участков дороги \((1 \le N \le 100 000)\). Следующая строка содержит \(N\) целых чисел \(t_1, t_2, ... , t_N\) — исходные типы асфальта участков дороги \((|t_i | \le 10^9)\).
Третья строка содержит единственное натуральное число \(Q\) — количество сообщений от жителей об обновлении дорожного покрытия \((1 \le Q \le 100 000)\). Каждая из следующих \(Q\) строк содержит очередное сообщение.
\(i\)-е сообщение представляет собой пару целых чисел \(p_i\) , \(c_i\) — номер ремонтируемого участка дороги и новый номер типа асфальта на этом участке \((1 \le p_i \le N, |c_i | \le 10^9)\). Участки дороги нумеруются от 1 до \(N\) в порядке задания их исходного типа асфальта во второй строке входного файла.
Выведите \(Q\) строк. \(i\)-я строка (\(1 \le i \le Q\)) должна содержать единственное целое число — величину непроходимости улицы после первых \(i\) обновлений дорожного покрытия.
Рассмотрим подробнее второй тестовый пример. Изначально улица 1123221 состоит из 5 отрезков с одинаковым типом асфальта: 11, 2, 3, 22, 1 и, соответственно, имеет непроходимость, равную 5 (её не нужно выводить в выходной файл).
После первого ремонта улица станет выглядеть как 1223221 и всё ещё будет состоять из 5 участков, но других: 1, 22, 3, 22, 1. Поэтому её непроходимость равна 5, и первое число в выходном файле равно 5.
После второго ремонта улица будет состоять из 3 участков: 1, 22222, 1, так что второе число в выходном файле — 3.
После третьего ремонта получим 4 участка: 1, 2222, 9, 1, соответственно, третье и последнее число в выходном файле — 4.
Тесты к этой задаче состоят из трёх групп. Баллы за каждую группу тестов ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп.
5 2 2 2 2 2 5 1 2 2 3 4 3 3 1 3 3
1 3 5 5 3
7 1 1 2 3 2 2 1 3 2 2 4 2 6 9
5 3 4