Четыре Всадника проникают в сейф, где хранятся драгоценности. В сейфе лежат $$$n$$$ слитков золота массами $$$a_1, a_2, ..., a_n$$$.
Из-за системы безопасности они не могут просто взять всё: при выходе сработает детектор, если количество оставшихся там слитков будет меньше количества слитков, вынесенных из сейфа.
Но Всадники не даром лучшие в своём деле, а потому решили перехитрить даже систему безопасности: находясь внутри сейфа, они могут взять любой слиток и разделить его на два новых слитка ненулевой целой массы, причём каждый из получившихся слитков можно затем поделить ещё таким же образом. В результате количество слитков в сейфе увеличится и они смогут вынести больше золота!
К сожалению, их проникновение уже засекли, и до того как их поймают, они успеют сделать не более $$$k$$$ разделений слитков. У Всадников очень мало времени, а золото упускать не хочется, поэтому им необходимо как можно скорее узнать, какое максимальное количество золота они смогут вынести из сейфа.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ — количество наборов входных данных ($$$1 \le t \le 10^4$$$). Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ — количество слитков золота в хранилище и количество разрезов, которое Всадники успеют сделать ($$$1 \le n \le 2 \cdot 10^5; 1 \le k \le 10^9$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_i$$$, где $$$i$$$-е число описывает величину массы $$$i$$$-го слитка из хранилища ($$$1 \le a_i \le 10^9$$$).
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно число — максимальную величину массы золота, которую Всадники смогут унести.
44 76 10 5 13 112 8 121 455 71 4 2 7 15
1924426
37 2481 145 877 391 359 141 6475 2794 251 19 838 6004 10012342284 102022008 124242424 173814882
23962232412421594
Четвёрка легендарных иллюзионистов — Всадники — готовит новое выступление. На этот раз их цель — взломать таинственный криптографический сейф корпорации «Arcana». Сейф защищён древним числовым ритуалом: говорят, что только тот, кто сможет подобрать $$$k$$$ различных ключей, откроет замок.
На лицевой панели сейфа высвечивается формула:
Система принимает только натуральные числа $$$a$$$, $$$b$$$, $$$c$$$. Каждый набор ($$$a,\ b,\ c$$$), удовлетворяющий уравнению, считается действующим «магическим ключом». Чтобы открыть сейф, вам нужно сгенерировать k таких ключей.
В первой строке задано число тестовых случаев $$$t$$$ ($$$1 \le t \le 100$$$).
Каждый тестовый случай описывается двумя числами $$$n$$$, $$$k$$$ ($$$1 \le n \le 20$$$; $$$1 \le k \le 5$$$).
Для каждого тестового случая выведите $$$k$$$ различных троек чисел $$$a$$$, $$$b$$$, $$$c$$$ ($$$1 \le a \le b \le 10^{18}$$$), удовлетворяющих искомой формуле.
12 1
2 11 5
Долгожданное возвращение «Четырёх всадников»! Атлас, Джек Уайлдер и остальные мастера обмана готовят новый невероятный трюк. На этот раз цель – не обогнать полицию, а обмануть математическую реальность.
На столе у героев лежат два числа $$$n$$$ и $$$m$$$. Их задача – собрать из чисел Фибоначчи $$$F_0, F_1, F_2, \dots$$$ последовательность $$$F_{a_1}, F_{a_2}, \dots, F_{a_k}$$$ ($$$a_1 \leq a_2 \leq \dots \leq a_k$$$), которая должна быть одновременно частью двух трюков
Здесь $$$F_0 = 1, F_1 = 1, F_i = F_{i-1} + F_{i-2}$$$ — последовательность Фибоначчи, их секретное оружие. Обратите внимание, что числа в выбранной последовательности не обязаны быть различными — то есть, можно брать одно число Фибоначчи несколько раз.
Ваша миссия — найти минимальное число элементов $$$k$$$, которое позволит всадникам показать этот фокус публике. Если это невозможно — значит, план сорвался, и фокус не удался.
В первой строке записаны два целых числа $$$n,m$$$ ($$$1 \leq n, m \leq 10^{12}$$$).
Выведите одно целое число: $$$k$$$, если последовательность, описанная в условии, существует, и $$$-1$$$ иначе.
3 3
1
13 19
3
Во время грандиозного шоу иллюзионистов город из $$$n$$$ сцен соединён системой секретных ходов. Каждая сцена — это вершина, каждый ход между двумя сценами — это ребро. Всего ходов $$$n-1$$$, и вместе они образуют дерево.
На каждом ребре написано число $$$w$$$ — «сила иллюзии», с которой зритель переносится между двумя сценами.
Рассмотрим любой маршрут шоу — последовательность различных сцен $$$$$$u_1, u_2, \dots, u_k$$$$$$ где $$$k \geq 2$$$ и соседние сцены соединены прямым секретным ходом. Такой маршрут не может самопересекаться (одна и та же сцена не может появляться более одного раза).
Красотой маршрута назовём XOR всех сил иллюзий на этом пути:
$$$$$$w_{u_1 \rightarrow u_2} \oplus w_{u_2 \rightarrow u_3} \oplus \dots \oplus w_{u_{k - 1} \rightarrow u_k}.$$$$$$
Организаторы шоу хотят знать, сколько существует различных маршрутов с заданной красотой иллюзии.
Первая строка содержит число $$$n$$$ — количество сцен ($$$2 \leq n \leq 2 \cdot 10^5$$$).
В следующих $$$n - 1$$$ строках описаны секретные ходы: каждая строка содержит три числа $$$u, v, w$$$ — номера двух сцен и силу иллюзии на ходе между ними ($$$1 \leq u, v \leq n$$$; $$$0 \leq w \lt 2^{20}$$$).
Далее задано число запросов $$$q$$$ ($$$1 \le q \le 2 \cdot 10^5$$$).
В каждой из следующих $$$q$$$ строк записано число $$$f$$$ — требуемая красота маршрута ($$$0 \leq f \lt 2^{20}$$$).
Гарантируется, что заданный граф является деревом.
Для каждого запроса в отдельной строке выведите одно число — количество различных маршрутов между парами сцен, у которых красота маршрута равна заданному значению $$$f$$$.
31 2 02 3 13012
1 2 0
31 2 102 3 530515
0 1 1
Команда «Всадников» готовит финальный трюк своего шоу — синхронизированное проникновение в защищённый дата-центр во время прямого эфира.
Чтобы взломать систему, нужно нажать кнопку активации ровно через $$$T$$$ секунд после старта шоу. Но есть проблема: все часы, таймеры и электронные устройства в здании заблокированы системой защиты. В распоряжении команды есть только четыре специальных термальных шнура, которые можно поджигать с одного конца или с двух.
В любой момент времени Всадники могут сделать следующее:
Причём в один момент времени они могут совершать несколько действий с разными шнурами.
Всадникам известно, что $$$i$$$-й шнур сгорит ровно за $$$t_i$$$ секунд, если поджечь его с одной стороны; если же шнур горел $$$x$$$ секунд с одной стороны, а потом Всадники решат поджечь его с другой, то ему останется гореть $$$\frac{t_i-x}{2}$$$ секунд. Шнуры горят неравномерно, поэтому по их длине невозможно определить, сколько времени прошло с поджога.
Определите, можно ли отмерить время, равное $$$T$$$, если считать, что шоу начнется, как только они зажгут или затушат какой-то из шнуров.
В первой строке вводится количество тестовых случаев $$$t$$$ ($$$1 \le t \le 10^4$$$).
Каждый случай описывается пятью целыми числами $$$t_1$$$, $$$t_2$$$, $$$t_3$$$, $$$t_4$$$, $$$T$$$ ($$$1 \le t_1, t_2, t_3, t_4 \le 10^8$$$; $$$1 \le T \le 4\cdot10^8$$$).
Для каждого тестового случая выведите YES или NO в любом регистре, в зависимости от ответа на тестовый случай.
121 1 1 1 18 1 1 1 41 2 4 6 31 2 4 6 147 7 7 7 122 8 10 6 132 8 10 6 51 5 5 3 9100 100 100 100 4001 2 100 1000 994 8 100 13 538 24 100 200 129
YESYESYESNONOYESYESYESYESYESYESYES
Легендарные Четыре Всадника готовят для своего выступления трюк под названием «Вечный двигатель». Для его реализации они создали механизм, представляющий собой выстроенные в ряд $$$n$$$ шестерёнок с различным количеством зубьев $$$a_1, a_2, ..., a_n$$$.
К сожалению, оказалось, что механизм не работает так, как нужно, поэтому Всадники принялись искать проблему. В результате нескольких бессонных ночей и долгих сложнейших расчётов они выяснили, что шестерёнки расставлены в неверном порядке — в верном механизме шестерёнки должны быть расположены так, что последняя, самая правая, шестерня вращается максимально быстро при вращении первой, самой левой, с определённой постоянной скоростью.
До выступления осталось совсем немного, а разбирать и собирать механизм заново — дело небыстрое. К счастью, механизм починить всё же можно, ведь ловкие руки иллюзиониста могут довольно быстро менять местами две соседние шестерёнки. После долгих поисков ошибки Всадники очень устали и хотят скорее отправиться отдыхать перед выступлением, поэтому им нужно узнать, какое минимальное количество обменов необходимо для починки механизма.
Первая строка содержит целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — количество шестерёнок.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_i$$$, где $$$i$$$-е число описывает количество зубчиков у $$$i$$$-й шестерёнки ($$$2 \le a_i \le 10^{18}$$$).
Выведите одно число — минимальное количество обменов, необходимое для починки механизма.
53 7 2 2 4
2
72 8 2 2 8 3 4
4
89 10 5 4 5 7 7 2
1
Четыре Всадника продолжают свои тщательно спланированные представления по всему миру. Они то исчезают, то снова появляются на сцене, оставляя за собой множество загадок.
Рассмотрим динамическое множество команд иллюзионистов. Каждая команда с номером $$$i$$$ характеризуется двумя параметрами $$$x_i$$$ и $$$k_i$$$ (обратите внимание, что оба параметра у двух разных команд могут совпадать).
Начиная с дня $$$t = 1$$$, команда живёт по бесконечному циклу:
Затем цикл повторяется: $$$k_i$$$ дней выступлений, $$$k_i$$$ дней тишины, и так далее.
Необходимо обрабатывать запросы от разных наблюдателей (Интерпол, полиция, фанаты и таинственные заказчики), которые хотят знать, какая суммарная «интенсивность магии» наблюдается в тот или иной день.
Поддерживаются три типа запросов:
Помогите наблюдателям узнавать ответы на все запросы третьего типа.
Первая строка содержит одно целое число $$$q$$$ — количество запросов ($$$1 \leq q \leq 4 \cdot 10^5$$$).
Каждая из следующих $$$q$$$ строк содержит один запрос одного из трёх описанных выше типов.
В запросах 1 и 2 типа заданы целые числа $$$x$$$ и $$$k$$$, они описывают добавление и удаление команды с параметрами $$$x$$$ и $$$k$$$ соответственно ($$$1 \le x \le 10^3$$$; $$$1 \le k \le 2 \cdot 10^5$$$).
В запросе третьего типа задано целое число $$$t$$$ — номер дня ($$$1 \le t \le 2 \cdot 10^5$$$).
Гарантируется, что для каждого запроса второго типа соответствующая команда ранее была добавлена запросом первого типа и к этому моменту ещё не была удалена.
Для каждого запроса третьего типа выведите в отдельной строке одно целое число — суммарную интенсивность магии в интересующий день.
5+ 1 1? 1? 2? 3? 4
1 0 1 0
12+ 3 2+ 5 3? 1? 2? 3+ 4 2? 4- 5 3? 5? 6+ 2 4? 7
8 8 5 0 7 7 0
На плоскости расставлены $$$n$$$ магических меток, $$$i$$$-я метка изначально имеет координаты ($$$x_i; y_i$$$). Затем Джесси делает с ними $$$q$$$ трюков. Каждый трюк описывается пятью числами $$$l$$$, $$$r$$$, $$$x$$$, $$$y$$$, $$$a$$$ ($$$a \in [90, 180, 270]$$$). Джесси поворачивает все метки на позициях с $$$l$$$-й по $$$r$$$-ю относительно точки ($$$x; y$$$) на $$$a$$$ градусов по часовой стрелке.
После каждого фокуса Джесси нужно накрывать все метки специальным прямоугольным полотном для следующего фокуса. При чём стороны прямоугольника должны быть параллельны осям координат. Вам нужно определить, чему равна минимальная площадь подходящего полотна после каждого фокуса. Гарантируется, что после каждого фокуса абсолютное значение координат меток не превышает $$$10^9$$$.
В первой строке вводится два числа $$$n$$$, $$$q$$$ ($$$1 \le n, q \le 2\cdot 10^5$$$).
В следующих $$$n$$$ строках вводится по два числа $$$x_i$$$, $$$y_i$$$ ($$$0 \le |x_i|, |y_i| \le 10^8$$$).
В следующих $$$q$$$ строках вводится по пять чисел $$$l$$$, $$$r$$$, $$$x$$$, $$$y$$$, $$$a$$$ ($$$1 \le l \le r \le n$$$; $$$0 \le |x|, |y| \le 10^8$$$; $$$a \in [90, 180, 270]$$$).
Выведите $$$q$$$ ответов на каждый фокус в отдельной строке.
5 31 2-2 43 3-1 -15 -31 3 0 0 902 3 5 5 1804 5 -4 -3 180
30 128 360
8 41 22 12 -11 -2-1 -2-2 -1-2 1-1 27 8 0 0 2705 8 0 0 2703 8 0 0 2701 8 0 0 270
16 4 1 1
1 30 01 1 0 0 901 1 0 0 1801 1 0 0 270
0 0 0
3 20 0-1 01 01 1 -1 -1 1801 1 -1 -1 180
6 0
Настало время для финального шоу «Четырёх всадников»! Специально для него был подготовлен фокус, который никто и никогда раньше не видел.
Чтобы создать такой фокус, «Всадники» записали все трюки из своих предыдущих выступлений в виде строки $$$s$$$. Всего у них в арсенале $$$n$$$ трюков, которые они могли использовать в своих шоу. Они обозначаются первыми $$$n$$$ строчными буквами латинского алфавита; в $$$s$$$ же использованы лишь некоторые из них (но, может быть, и все).
Они хотят быть уверены, что выбранная для нового фокуса последовательность трюков действительно новая. Для этого она не должна встречаться в строке $$$s$$$ как подпоследовательность — то есть её нельзя получить из $$$s$$$, вычёркивая некоторые символы.
При этом фокус должен быть максимально коротким: чем меньше его длина, тем труднее зрителям распознать обман до самого завершения — и тем сильнее эффект неожиданности.
«Четыре Всадника» ищут минимальную длину $$$k$$$, при которой существует последовательность из $$$k$$$ трюков их арсенала, не являющаяся подпоследовательностью $$$s$$$. Помогите им найти её.
В первой строке вводится число $$$n$$$ — количество трюков в арсенале «Всадников» ($$$1 \le n \le 26$$$).
Во второй строке вводится строка $$$s$$$ — последовательность трюков, которые использовались в прошлых выступлениях ($$$1 \le |s| \le 10^6$$$).
В единственной строке выведите число $$$k$$$ — минимальную длину последовательности, не являющейся подпоследовательностью $$$s$$$ и состоящую из первых $$$n$$$ строчных букв латинского алфавита.
1aaaa
5
4abacadaba
2
3abccba
3
Четверо Всадников готовят новый трюк. На сцене перед зрителями стоит магическая доска, на которой изначально записано одно число $$$S$$$ — сумма денег, которая якобы лежит в банковской ячейке.
За один ход маги могут выполнить следующий «номер»:
Однако за каждый такой размен продюсеру приходится платить за спецэффекты $$$a \cdot b$$$ монет.
В какой-то момент Всадники хотят, чтобы на доске оказались заранее заданные числа — это суммы, которые зрители якобы увидят на своих счетах после трюка. При этом на доске могут остаться и какие-то лишние числа; главное, чтобы все нужные суммы уже присутствовали.
Дан массив из $$$n$$$ чисел $$$x_1, x_2, \dots, x_n$$$ — потенциальные финальные суммы для разных вариантов трюка.
Продюсер задаёт $$$q$$$ вопросов. Каждый вопрос описывает одну постановку:
Для каждого такого запроса нужно определить, можно ли, начиная с единственного числа $$$S$$$ на доске, с помощью описанных действий получить набор чисел $$$x_l, x_{l+1}, \dots, x_r$$$ (порядок не важен, на доске могут быть дополнительно другие числа). Если можно — сообщить, какова минимальная суммарная стоимость всех разменов в монетах, необходимая для реализации такого трюка; иначе — сообщить, что трюк невозможен.
В первой строке заданы два числа $$$n$$$ и $$$q$$$ — количество чисел в массиве и количество запросов ($$$1 \le n, q \le 2 \cdot 10^5$$$).
Во второй строке заданы $$$n$$$ чисел $$$x_1, x_2, \dots, x_n$$$ — элементы массива ($$$1 \le x_i \le 10^6$$$).
Каждая из следующих $$$q$$$ строк содержит запрос в формате $$$l$$$, $$$r$$$, $$$S$$$ ($$$1 \leq l \leq r \leq n$$$; $$$1 \leq S \leq 10^9$$$).
Для каждого запроса выведите в отдельной строке минимальное количество монет, которое должен потратить продюсер, чтобы реализовать такой трюк — или $$$-1$$$, если получить требуемый набор чисел невозможно.
5 61 2 3 4 52 4 101 3 63 5 101 5 202 2 52 2 2
35 11 -1 160 6 0
Во время финального ограбления «Четыре Всадника» внедряют хакера внутрь защищённой системы федерального банка. Его задача — взломать защитный модуль, набрав специальную последовательность слов на сенсорной клавиатуре.
В защитном модуле есть набор из $$$n$$$ слов, состоящих из строчных латинских букв. Джек быстро понял, что для взлома достаточно написать какие-то $$$k$$$ слов из набора, причём слова могут повторяться, а после каждого слова, кроме последнего, должен идти пробел (пробелы печатаются отдельным пальцем, так что на их написание время не тратится). Чтобы написать какую-то букву, Джек должен переместить палец с текущей кнопки на другую кнопку, при чём он тратит на это действие время, равное расстоянию между начальной и конечной кнопками. Время на нажатие кнопки, на которой находится палец, не тратится.
Клавиатура задана тремя строками длины 9. На ней есть все буквы латинского алфавита, а также один пробел. Расстояние между кнопками считается как сумма абсолютной разницы координат кнопок (то есть чтобы из кнопки ($$$x_1;\ y_1$$$) дойти до кнопки ($$$x_2;\ y_2$$$), нужно потратить $$$|x_2 - x_1| + |y_2 - y_1|$$$ единиц времени).
Найдите минимальное количество времени, которое Джеку придётся потратить на взлом, при условии, что изначально он может поставить палец на любую кнопку.
В первой строке вводится два числа $$$n$$$, $$$k$$$ ($$$1 \le n \le 10^5$$$; $$$1 \le k \le 10^9$$$).
В следующих $$$n$$$ строках вводится по одному слову $$$s$$$ ($$$1 \le |s| \le 10^6$$$). Гарантируется, что сумма длин всех слов не превосходит $$$10^6$$$.
Далее идёт описание клавиатуры: три строки из $$$9$$$ символов. Гарантируется, что пробел имеет координаты ($$$3; 5$$$), то есть находится в середине третьей строки. Все остальные символы — неповторяющиеся строчные буквы латинского алфавита.
В единственной строке выведите ответ на задачу.
3 2abbazaazaaazabcdefghijklmnopqrstuv wxyz
4
3 2abbazaazaaazaczdefghijklmnopqrstuv wxyb
6
2 1000000000aaaabbbbbaazcdefghijklmnopqrstuv wxyb
10000000000