Алексей — сотрудник передовой IT-компании, недавно он начал работать в отделе, который занимается исследованием теории чисел. Алексей работает в банке, и недавно их отдел выяснил, что поведение клиента зависит от делителей количества рублей на его счете. Особенно важны большие делители.
Обозначим количество рублей на счёте клиента числом $$$n$$$. Для улучшения взаимодействия с клиентами банку необходимо узнать, сколько делителей больше или равных $$$10^{15}$$$ у числа $$$n$$$.
Помогите Алексею справиться с этой задачей.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Каждый набор входных данных содержит в единственной строке одно целое число $$$n$$$ — количество рублей на счете клиента ($$$1 \le n \le 10^{18}$$$).
Для каждого набора входных данных выведите одно целое число — количество делителей числа $$$n$$$, которые больше или равны $$$10^{15}$$$.
310100000000000000020000000000000001
0 1 2
На одной из площадок олимпиады по физкультуре «Мышечные технологии» есть две аудитории. Между ними расположены $$$n$$$ столов, на которых лежат пиццы, на $$$i$$$-м столе находятся $$$a_i$$$ пицц. При этом первая аудитория находится перед первым столом, а вторая — после последнего стола.
По завершении олимпиады, каждую секунду, начиная с первой, ровно один участник выходит из каждой аудитории, находит ближайший к нему стол, на котором еще лежит хотя бы одна пицца, подходит к нему и ест ровно одну пиццу, после чего сразу же уходит на разбор. Участники очень старались на олимпиаде, поэтому проголодались. Можно считать, что они моментально подходят к столу и едят пиццу.
В разных аудиториях участникам были предложены разные задачи. Поэтому, если участник из первой аудитории видит, как участник из второй аудитории ест пиццу со стола на расстоянии не больше $$$k$$$, он немедленно начнёт обсуждать с ним задачи. Или же, более формально, пусть для участника из первой аудитории $$$x$$$ — номер ближайшего к нему стола с пиццей, а $$$y$$$ — номер стола с пиццей для участника из второй аудитории, тогда, если $$$y - x \leq k$$$, то они немедленно начнут обсуждать задачи.
Организаторы устали после тура и хотят отдохнуть в тишине. Им известно, что как только участники начнут обсуждать задачи, их покой будет нарушен. Помогите организаторам определить, через сколько секунд после завершения олимпиады начнётся обсуждение задач.
Данная задача состоит из нескольких наборов входных данных. В первой строке задано единственное число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Затем идет их описание.
В первой строке каждого набора входных данных заданы два числа $$$n, k$$$ ($$$2 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq n - 1$$$) — количество столов с пиццами между аудиториями и расстояние, на котором участники начнут обсуждать задачи.
В следующей строке заданы целые числа $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$) — количества пицц на столах.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите ровно одно число — минимальное количество секунд, после которых участники начнут обсуждать задачи.
Можно показать, что в указанных ограничениях обсуждение задач гарантированно произойдёт.
35 21 1 1 1 25 31 1 1 1 23 13 1 4
3 2 4
В первых двух наборах входных данных массив количеств пицц имеет вид $$$[1, 1, 1, 1, 2]$$$.
На первой секунде участник из первой аудитории взял пиццу под номером $$$1$$$, а из второй $$$5$$$, после этого массив количеств пицц имеет вид $$$[0, 1, 1, 1, 1]$$$.
На второй секунде участник из первой аудитории взял пиццу под номером $$$2$$$, а из второй $$$5$$$, после этого массив количеств пицц имеет вид $$$[0, 0, 1, 1, 0]$$$.
На третьей секунде участник из первой аудитории взял пиццу под номером $$$3$$$, а из второй $$$4$$$, после этого массив количеств пицц имеет вид $$$[0, 0, 0, 0, 0]$$$.
В первом наборе входных данных $$$k = 2$$$, поэтому на третьей секунде они начнут обсуждать задачи, так как $$$4 - 3 \leq k$$$.
Во втором наборе входных данных они начнут обсуждать задачи на второй секунде.
В третьем наборе входных данных они начнут обсуждать задачи на четвёртой секунде.
Недавно в Немалополисе разработали инновационный метод телепортации. Для повышения комфорта жителей в городе было установлено $$$n$$$ телепортов, пронумерованных от $$$1$$$ до $$$n$$$.
Учёные-немалисты рассчитали ограничения, которые обеспечат безопасность телепортационной сети. Для каждого телепорта было выписано слово $$$s_i$$$ соответственно. За $$$|s_i|$$$ они обозначили длину строки $$$i$$$. Также они выбрали целое число $$$k$$$. Учёные разрешили горожанам телепортироваться из телепорта $$$i$$$ в телепорт $$$j$$$ при условии, что пассажир предъявит такое число $$$m$$$, что:
При этом стоимость такой телепортации составляет $$$m$$$ немалей (местная валюта).
Например, для $$$s_i =$$$ «abcde» и $$$s_j =$$$ «cdef» подходит только $$$m = 3$$$, и стоить такая телепортация будет $$$3$$$ немаля.
Мэр города, Немалуй, собирает сведения об эффективности телепортов. Для каждого телепорта $$$i$$$ ($$$2 \le i \le n$$$) вам нужно найти минимальное число немалей, необходимое для того, чтобы добраться от $$$1$$$-го телепорта до телепорта $$$i$$$, совершив какое-то количество телепортаций.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^4$$$) — количество наборов входных данных. Далее идут описания наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ ($$$2 \le n \le 3 \cdot 10^5$$$) и $$$k$$$ ($$$1 \le k \le 3 \cdot 10^5$$$) — количество телепортов и ограничение на стоимость телепортации соответственно.
Следующие $$$n$$$ строк каждого набора входных данных содержат $$$s_i$$$ ($$$1 \le |s_i| \le 3 \cdot 10^5$$$), состоящие только из строчных латинских букв — надписи над соответствующими телепортами.
Гарантируется, что сумма $$$|s_i|$$$ по всем наборам входных данных не превышает $$$3 \cdot 10^5$$$.
Для каждого набора входных данных в отдельной строке выведите $$$n - 1$$$ число — стоимости проезда от телепорта $$$1$$$ до телепортов $$$2, 3, 4, \dots, n$$$ соответственно. Если до какого-то телепорта никак нельзя доехать, выведите вместо стоимости проезда до него число $$$-1$$$.
55 1skolkonemalokolbazamkadomaramzamzam4 2arbuzikikrapupupukokos2 1uwuuuuuuwu2 1uuuuuuuuuu4 7extraordinarilymagnificentunbelievablilityoverenthusiasticallyhyperactiveoverenthusiasticallyhyperactiveperpetualmotionunintentionallymisunderstoodunintentionallymisunderstoodhilariousscenariofantasticallyextraordinarifantasticallyextraordinarilybizarreadventure
-1 2 6 3 2 -1 -1 3 5 31 59 85
В первом наборе входных данных мы можем телепортироваться: «skolko» $$$\overset{2}{\to}$$$ «kolba» $$$\overset{1}{\to}$$$ «aramzamzam» $$$\overset{3}{\to}$$$ «zamkadom».
Во втором наборе входных данных мы не можем попасть из «arbuzik» в «kokos», так как проезд между ними стоит $$$1$$$, что меньше $$$k = 2$$$.
В третьем наборе входных данных мы не можем попасть из «uwuuu» в «uuuwu», предъявив $$$m = 1$$$ или $$$m = 2$$$, так как условие на то, что суффикс $$$s_i$$$ длины $$$m + 1$$$ не совпадает с префиксом $$$s_j$$$ длины $$$m + 1$$$, не выполнено.
В четвёртом наборе входных данных мы можем попасть из «uuuuu» в «uuuuu» только при $$$m = 5$$$, так как при меньших условие на $$$m + 1$$$ не выполнено.
Пятый набор входных данных настолько немалый, что его мы комментировать не будем.
Вам дана перестановка $$$p$$$ всех чисел от $$$1$$$ до $$$n$$$, а также целое число $$$k$$$. С перестановкой разрешается выполнять следующую операцию неограниченное число раз:
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n, k$$$ ($$$5 \le n \le 100, 2 \le k \le 4$$$) — длина перестановки, а также размер отрезка, над которым проводим операцию.
Вторая строка каждого набора входных данных содержит числа $$$p_1, p_2, \ldots, p_n$$$ ($$$1 \le p_i \le n$$$) — изначальная перестановка.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$100$$$, а также, что $$$p$$$ является корректной перестановкой.
Для каждого набора входных данных выведите «YES», если возможно отсортировать перестановку с помощью таких операций, в ином случае «NO».
Если можно отсортировать, то затем нужно вывести сами операции.
В первой строке выведите число $$$m$$$ — количество действий для сортировки. В следующих $$$m$$$ ($$$1 \le m \le 10^5$$$) строках сами операции в порядке выполнения.
Для каждой операции выведите два числа $$$l, r$$$ ($$$1 \le l \le r \le n, r - l + 1 = k$$$) — означающие отрезки, над которыми проводятся операции.
Гарантируется, что для всех входных данных, где ответ существует, существует набор операций, состоящий не более чем из $$$10^5$$$ операций, который позволяет отсортировать массив.
4 8 2 1 4 8 3 2 5 7 6 5 3 1 3 5 2 4 5 4 1 3 2 5 4 6 3 4 3 5 1 6 2
YES 9 3 4 2 3 4 5 3 4 2 3 5 6 6 7 7 8 6 7 YES 7 1 3 3 5 1 3 2 4 3 5 2 4 1 3 NO YES 6 1 3 2 4 1 3 4 6 3 5 2 4
Это интерактивная задача с открытыми тестами.
Наконец-то выпустили долгожданный ремастер вашей любимой Flash игры Warfare 1917! Вы так долго его ждали, что отложили все свои дела и бросились играть. Работавшие над игрой креативные менеджеры решили, что предпочтения игроков за последние 17 лет сильно поменялись, поэтому многие игровые механики были упрощены. В то же время менеджеры постарались сохранить бюджет дух оригинала, поэтому приняли решение переиспользовать старые графические ресурсы.
В игре сражаются два игрока, каждый имеет на руках карты со значениями от $$$1$$$ до $$$6$$$, соответствующие юнитам из оригинальной игры, и по ноль очков. Карта с большим значением бьёт карту с меньшим. Игра проходит в шесть раундов, каждый раунд игроки одновременно выбирают и разыгрывают по карте. Если значения карт совпадают, ничего не происходит, в противном случае игрок с большим значением получает одно очко. Разыгранные карты переиспользовать нельзя. Если один из игроков набрал больше очков, чем другой, он объявляется победителем игры.
Вы будете сражаться с ботами, которые играют по следующим стратегиям:
Каждый тест соответствует одному боту, при этом порядок тестов соответствует порядку ботов в описании. В каждом тесте вы сыграете с ботом $$$500$$$ независимых игр. Ваша задача — выиграть у каждого бота хотя бы $$$251$$$ игру. Ничья не считается за победу.
Обратите внимание, что боты не меняют свою стратегию, но при этом случайность равномерно распределена и работает независимо для каждой игры. Например, третий бот может сыграть последовательность карт $$$1, 3, 2, 5, 6, 4$$$ в первой игре и $$$2, 3, 1, 4, 5, 6$$$ во второй.
Вы сыграете с каждым ботом $$$500$$$ раз.
Каждая игра проходит в $$$6$$$ раундов. Каждый раунд вы должны сначала вывести значение карты, которой хотите сходить, а затем считать значение карты бота.
После окончания игры начинается следующая, и вы играете её в таком же формате, пока не сыграете $$$500$$$ игр. Вы должны доигрывать все раунды и все игры, нельзя завершить программу, если вы уже набрали достаточное количество очков.
Если ваша программа нарушит протокол взаимодействия, сделает некорректный ход или зависнет, вы можете получить случайный вердикт ошибки.
Не забывайте сбрасывать буфер после каждого вывода. Для этого можете использовать std::endl в C++ или стандартную функцию print в Python. Не используйте ios_base::sync_with_stdio(false) в C++.
Интерактор не является адаптивным, то есть ходы ботов зафиксированы заранее и не зависят от ваших действий.
1 2 3 4 5 6 ...
4 2 1 5 6 3 ...
В примере показано взаимодействие программы участника с первым ботом. В нём сыграна одна игра, в которой участник набрал $$$3$$$ очка, а бот — $$$2$$$ очка. Эту игру выиграл участник, далее ему предстоит сыграть ещё $$$499$$$ игр с этим же ботом.
У Артема есть массив $$$a$$$ длины $$$n$$$. Ему не нравится, когда в массиве есть различные значения, поэтому он просит вас исправить это.
Вам разрешено выполнять операции, которые преобразуют массив. За одну операцию вы можете выбрать три целых числа $$$l$$$, $$$r$$$, $$$x$$$, если $$$\lceil\frac{n}{2}\rceil \le r - l + 1$$$. Тогда для всех $$$i$$$, что $$$l \le i \le r$$$, применяется изменение $$$a_i = a_i \oplus x$$$, где $$$\oplus$$$ обозначает побитовое «исключающее или».
Скажите, можно ли сделать все элементы массива равными, выполнив не более $$$n - 1$$$ операций.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Затем следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит единственное число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — длина массива.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \lt 2^{30}$$$) — сам массив $$$a$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных в отдельной строке выведите одно целое число — количество операций $$$k$$$ ($$$0 \le k \le n - 1$$$), или $$$- 1$$$, если сделать числа равными невозможно.
В случае, если ответ существует, в следующих $$$k$$$ строках выведите по три целых числа $$$l, r, x$$$ ($$$1 \le l \le r \le n$$$, $$$0 \le x \lt 2^{30}$$$) — описание операций.
34179 179 179 17994 5 5 7 7 7 6 6 4743 23 483 34 2 48 29
0 2 2 6 1 4 8 2 6 1 5 50 2 7 60 3 7 500 1 6 45 4 7 449 1 4 32
В первом наборе входных данных все числа массива равны, поэтому нам не надо выполнять операции.
Во втором наборе данных достаточно двух операций:
Назовём массив $$$b_1,b_2,\ldots,b_{2k-1}$$$, $$$k$$$-древесным, для целого $$$k \geq 2$$$, если его элементы можно переставить таким образом, чтобы одновременно были выполнены следующие условия:
Более неформально, после перестановки массив должен представлять собой то, как чаще всего задаётся в входных данных дерево размера $$$k$$$: первым элементом является $$$k$$$, количество вершин, а далее задаётся $$$k-1$$$ рёбер, и каждое ребро задаётся двумя вершинами. Обратите внимание, что номерами вершин могут быть любые целые числа.
Например, массив $$$[4, 100, 4, 3, 3]$$$ является $$$3$$$-древесным, так как его элементы можно переставить в $$$[3, 3, 4, 4, 100]$$$, и граф с рёбрами $$$3 \leftrightarrow 4$$$, $$$4 \leftrightarrow 100$$$ является деревом из $$$3$$$ вершин.
Вам дан массив $$$a_1, a_2, \ldots, a_n$$$ и $$$q$$$ запросов. В каждом запросе даны два числа $$$1 \leq l \leq r \leq n$$$, и нужно найти количество целых $$$k \geq 2$$$ таких, что у массива $$$a_l, \ldots, a_r$$$ есть хотя бы одна $$$k$$$-древесная подпоследовательность.
$$$^{\text{∗}}$$$Напомним, что граф на $$$k$$$ вершинах является деревом, если он является связным, то есть между каждой парой вершин существует путь по рёбрам графа, и содержит ровно $$$k-1$$$ рёбер. В частности, дерево не содержит петель и кратных рёбер.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n, q$$$ ($$$1 \le n \le 10^5, 1 \le q \le 10^5$$$) — длина массива и количество запросов.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 2n$$$) — массив $$$a$$$.
Каждая из последующих $$$q$$$ строк набора входных данных содержит два целых числа $$$l, r$$$ ($$$1 \le l \le r \le n$$$) — параметры запроса.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$, а также сумма $$$q$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Выведите ответ на каждый запрос в отдельной строке.
110 156 1 13 6 4 4 1 5 2 51 101 92 101 82 93 101 72 83 94 101 62 73 84 95 10
3 3 2 1 1 1 1 0 1 1 0 0 0 1 1
В первом тестовом примере, в первом запросе существуют следующие древесные подпоследовательности:
Эти три дерева представлены на картинках ниже.
Это интерактивная задача!
Алиса и Боб играют в следующую игру. Изначально у Алисы есть $$$n$$$ карточек с числами $$$a_1, a_2, \ldots, a_n$$$ из неотрицательных чисел, меньших $$$m$$$. Также задана фиксированная бинарная строка $$$s_0s_1 \ldots s_{m-1}$$$.
Каждый ход Алиса может совершить одно из следующих действий:
Если через $$$n + m+7$$$ ходов Алиса не закончила игру, или у неё на руках всё ещё больше одной карты, победителем считается Боб. Иначе у Алисы на руках одна карточка. Пусть на этой карточке число $$$x$$$. Тогда, если $$$s_x = 1$$$, в игре побеждает Алиса, а иначе побеждает Боб.
Ваша задача — выбрать, за какого игрока играть, и выиграть игру с программой жюри.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Взаимодействие начинается со считывания входных данных. Первая строка каждого набора входных данных содержит два целых числа $$$n, m$$$ ($$$2 \le n \le 100$$$, $$$2 \le m \le 100$$$) — длину массива $$$a$$$ и модуль.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \lt m$$$) — элементы массива $$$a$$$.
Третья строка каждого набора входных данных содержит бинарную строку длины $$$m$$$ — $$$s_0s_1 \ldots s_{m-1}$$$.
После считывания данных вы должны вывести одну строку: Alice или Bob — имя игрока, за которого вы будете играть.
Если вы выбрали играть за Алису, далее выводите совершаемые операции в следующем формате:
Если вы выбрали играть за Боба, далее считывайте операции Алисы в таком же формате. На каждую операцию replace $$$x$$$ — вам нужно вывести число $$$y$$$ ($$$0 \le y \lt m$$$, $$$y \neq x$$$) в отдельной строке. Также гарантируется, что программа жюри, играющая за Алису, закончит игру за не более чем $$$n + m + 7$$$ ходов, с одной картой на руках.
После вывода или считывания done вы должны перейти к следующему набору входных данных.
После вывода каждого запроса не забудьте вывести перевод строки и сбросить буфер вывода$$$^{\text{∗}}$$$. В противном случае вы получите вердикт Решение «зависло». На любом шаге взаимодействия, если вы считали -1 вместо корректных данных, ваше решение должно немедленно завершиться. Это означает, что ваше решение получит вердикт Неправильный ответ из-за некорректного запроса или любой другой ошибки. Если программа не завершится, вы можете получить любой вердикт, так как ваша программа продолжит чтение из закрытого потока.
$$$^{\text{∗}}$$$Чтобы сбросить буфер вывода, используйте:
2 5 4 0 2 0 3 3 0110 1 0 2 10 7 7 1111011111 unite 7 7 done
Alice replace 0 unite 3 3 unite 1 2 replace 3 unite 0 0 unite 0 2 done Bob
Не гарантируется, что в примере из условия жюри играет оптимально.
У вас есть два корневых дерева $$$t_1$$$ и $$$t_2$$$, состоящие из $$$n_1$$$ и $$$n_2$$$ вершин соответственно.
Корневое дерево — это дерево с выделенной вершиной, которую называют корнем.
В каждой вершине деревьев $$$t_1$$$ и $$$t_2$$$ записано целое число — вес данной вершины.
Весом дерева называется целое число, которое получается при последовательном выполнении следующих двух операций:
XOR — это операция побитового исключающего ИЛИ, обозначаемая символом $$$\oplus$$$. При вычислении выражения $$$a \oplus b$$$ каждый бит результата будет равен $$$0$$$, если соответствующие биты чисел $$$a$$$ и $$$b$$$ равны, и равен $$$1$$$ иначе.
Например, вес дерева на рисунке равен 16. Он может быть рассчитан следующим образом:
Корневое дерево из 6 вершин. Вам необходимо подвесить одно из деревьев за другое таким образом, чтобы вес полученного дерева получился максимальным.
Другими словами, необходимо выполнить одну из следующих операций:
В результате получится новое дерево $$$t$$$, состоящее из $$$n_1 + n_2$$$ вершин. Необходимо найти дерево $$$t$$$ такое, вес которого будет максимальным среди всех возможных деревьев, которые можно получить выполнением одной из операций выше.
В первой строке дано целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит ровно одно целое число $$$n_1$$$ ($$$1 \le n_1 \le 10^5$$$) — количество вершин в дереве $$$t_1$$$.
Вторая строка каждого набора входных данных содержит ровно $$$n_1$$$ целых чисел — элементы массива $$$w_1$$$, где $$$w_{1_i}$$$ ($$$1 \le w_{1_i} \le 10^9$$$) описывает вес в вершине дерева $$$t_1$$$ с номером $$$i$$$ ($$$1 \le i \le n_1$$$).
Третья строка каждого набора входных данных содержит ровно $$$n_1$$$ целых чисел — элементы массива $$$p_1$$$ предков дерева $$$t_1$$$. Элемент $$$p_{1_i}$$$ содержит номер родителя вершины $$$i$$$. Если $$$p_{1_i} = i$$$, то вершина $$$i$$$ является корнем дерева $$$t_1$$$.
Четвёртая строка каждого набора входных данных содержит ровно одно целое число $$$n_2$$$($$$1 \le n_2 \le 10^5$$$) — количество вершин в дереве $$$t_2$$$.
Пятая строка каждого набора входных данных содержит ровно $$$n_2$$$ целых чисел — элементы массива $$$w_2$$$, где $$$w_{2_i}$$$ ($$$1 \le w_{2_i} \le 10^9$$$) описывает вес в вершине дерева $$$t_2$$$ с номером $$$i$$$ ($$$1 \le i \le n_2$$$).
Шестая строка каждого набора входных данных содержит ровно $$$n_2$$$ целых чисел — элементы массива $$$p_2$$$ предков дерева $$$t_2$$$. Элемент $$$p_{2_i}$$$ содержит номер родителя вершины $$$i$$$. Если $$$p_{2_i} = i$$$, то вершина $$$i$$$ является корнем дерева $$$t_2$$$.
Гарантируется, что сумма $$$n_1$$$ и $$$n_2$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных на отдельной строке выведите ровно одно число — максимальный вес, который можно получить, если подвесить одно дерево за другое.
363 6 4 2 1 51 1 1 1 4 431 1 11 1 12100 1011 121 12 246 6 6 14 3 4 4410000 1 1 100002 3 3 2
23 101 30008
В первом наборе входных данных
Дерево $$$t$$$ максимального веса может быть получено, если подвесить дерево $$$t_2$$$ к вершине номер $$$3$$$ (имеющей вес $$$4$$$) дерева $$$t_1$$$, как показано на рисунке ниже:
Вес данного дерева равен $$$23$$$.
Мадока не смогла выиграть олимпиаду Когнитивные технологии, поэтому попытается выиграть хотя бы своего лучшего друга. Они будут играть в следующую игру.
У Мадоки есть связный взвешенный неориентированный граф, состоящий из $$$n$$$ вершин, пронумерованных числами от $$$1$$$ до $$$n$$$. Она выбирает в нём подмножество из $$$n$$$ рёбер, таких, что подграф, образованный этими рёбрами и вершинами на их концах, является связным. Затем второй игрок выбирает из этого подмножества ребро, после удаления которого подграф останется связным, и удаляет его.
Счётом игры называется суммарный вес оставшихся $$$n - 1$$$ рёбер в этом подмножестве. Первый игрок (Мадока) хочет минимизировать счёт, тогда как второй игрок (лучший друг Мадоки) хочет его максимизировать.
Мадока хочет узнать счёт игры, при условии, что оба игрока играют оптимально. Помогите ей с этим.
В первой строке дано целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных.
Далее следует описание наборов.
В первой строке даны целые числа $$$n$$$, $$$m$$$ ($$$3 \leq n \leq 15$$$, $$$n \leq m \leq \frac{n(n - 1)}{2}$$$) — количество вершин в графе и количество рёбер.
В следующих $$$m$$$ строках дано описание рёбер.
Каждое ребро задаётся целыми числами $$$a$$$, $$$b$$$, $$$c$$$ ($$$1 \leq a, b \leq n$$$, $$$a \neq b$$$, $$$1 \leq c \leq 10^9$$$), обозначающие ребро между вершинами $$$a$$$ и $$$b$$$ с весом $$$c$$$.
Гарантируется, что граф не содержит кратных рёбер, а также является связным.
Также гарантируется, что не более чем в одном наборе входных данных $$$n \ge 8$$$.
Для каждого набора входных данных выведите единственное число — счёт игры, если оба игрока играют оптимально.
14 62 3 62 1 43 1 74 3 71 4 82 4 2
15
Ксюша — именитый эксперт в области компьютерной безопасности. Известная корпорация, разрабатывающая программное обеспечение RISC-V процессоров, наняла Ксюшу для расследования недавнего инцидента. Неопознанный горилл пробрался в продовый контур корпорации и похитил секретную разработку — массив из $$$n$$$ положительных целых чисел $$$a_1, a_2, \ldots, a_n$$$. Известно, что этот массив был упорядочен по неубыванию ($$$1 \le a_1 \le a_2 \le \ldots \le a_n$$$).
Неопознанный горилл — опытный хакер, поэтому он придумал, как обойти периметр фильтрации внутреннего трафика и извлечь массив $$$a$$$ во внешнюю сеть. Горилл дописал в конец массива $$$a$$$ элементы $$$a_1, a_1 + a_2, \ldots, a_1 + a_2 + \ldots + a_n$$$, другими словами, элементы массива префиксных сумм $$$a$$$. Затем горилл перемешал получившийся массив длины $$$2n$$$ случайным образом и назвал его $$$b$$$.
Ксюша смогла восстановить массив $$$b$$$ из логов, но чтобы оценить ущерб, нанесённый корпорации, необходимо восстановить похищенный массив $$$a$$$. Это слишком простая задача для Ксюши, поэтому её предстоит выполнить вам.
В первой строке дано целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Далее следует описание наборов.
В первой строке дано целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество элементов в массиве $$$a$$$.
Во второй строке даны $$$2 n$$$ целых числа $$$b_1, b_2, \ldots, b_{2 n}$$$ ($$$1 \le b_i \le 10^9$$$) — элементы массива $$$b$$$. Гарантируется, что существует массив $$$a$$$, соответствующий данному массиву $$$b$$$.
Также гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел — элементы массива $$$a$$$.
341 4 9 5 9 18 1 4110000 10000211021102 999 11022101 999
1 4 4 9 10000 999 11021102
В первом наборе входных данных горилл действовал так: