Последовательность целых положительных чисел назовём $$$1$$$-стабильной, если любые два соседних элемента в ней отличаются не более чем на $$$1$$$.
Про две последовательности одинаковой длины говорят, что первая лексикографически меньше второй, если первые $$$k$$$ чисел в них совпадают, а $$$(k + 1)$$$-е число в первой последовательности меньше, чем соответствующее число во второй.
Список последовательностей называется лексикографически упорядоченным, если в нём каждая последовательность лексикографически меньше, чем следующая.
Ясно, что из всех $$$n$$$-элементных $$$1$$$-стабильных последовательностей можно единственным образом построить лексикографически упорядоченный список. Например, для $$$n = 3$$$ этот список начинается так: $$$$$$(1, 1, 1),\; (1, 1, 2),\; (1, 2, 1),\; (1, 2, 2),\; (1, 2, 3),\; (2, 1, 1),\; (2, 1, 2),\; \ldots$$$$$$
Лексикографическим номером $$$n$$$-элементной $$$1$$$-стабильной последовательности называется её номер в лексикографически упорядоченном списке всех $$$n$$$-элементных $$$1$$$-стабильных последовательностей. Последовательности нумеруются начиная с $$$0$$$. Для любого $$$n$$$ лексикографически упорядоченный список таких последовательностей, очевидно, бесконечен. Поэтому для любого номера существует $$$1$$$-стабильная последовательность с таким лексикографическим номером.
Вам требуется написать программу, которая будет находить $$$n$$$-элементную $$$1$$$-стабильную последовательность по её лексикографическому номеру $$$x$$$.
В первой строке заданы два числа: $$$n$$$ и $$$x$$$ ($$$1 \leq n \leq 40$$$, $$$0 \leq x \leq 10^{18}$$$).
Вам необходимо выдать саму последовательность — $$$n$$$ целых положительных чисел.
1 10
11
2 10
4 5
В компании [REDACTED] думают запустить несколько проектов.
Каждый проект может быть запущен разными способами, но только одним из них, или не запущен вообще.
Команда аналитиков предоставила ожидаемые затраты и выручку для каждого способа запуска.
Система устроена так, что затраты тратятся из фиксированного бюджета, который руководство утвердило заранее. При этом любая полученная выручка не увеличивает бюджет для старта ещё не запущенных проектов.
Руководство интересуется только максимальной суммарной выручкой. То есть их не интересуют суммарные затраты, кроме того, что они вписываются в рамки заданного бюджета.
Вас, как высококвалифицированного специалиста, просят найти максимальную суммарную выручку.
Первая строка содержит два целых числа $$$n$$$ и $$$b$$$ — количество проектов и выделенный бюджет ($$$1 \le n \le 20$$$, $$$0 \le b \le 10^9$$$).
Далее записаны $$$n$$$ проектов, каждый с новой строки. Описание $$$i$$$-го проекта начинается со строки, содержащей целое число $$$k_i$$$ — количество возможных запусков ($$$1 \le k_i \le 20$$$). Далее в $$$k_i$$$ строках записаны два целых числа $$$r_{ij}$$$ и $$$e_{ij}$$$ — выручка и затраты соответственно в случае запуска $$$i$$$-го проекта $$$j$$$-м способом ($$$0 \le r_{ij}, e_{ij} \le 10^9$$$).
Суммарное количество всех способов запуска для всех проектов не превосходит $$$20$$$ ($$$\sum k_i \le 20$$$).
Выведите одно целое число $$$r$$$ — максимальную суммарную выручку.
2 102100 1080 9110 1
100
2 52200 3100 2210 220 3
210
Разноцветным взвешенным деревом называется дерево, у которого у каждой вершины $$$i$$$ есть вес $$$w_i$$$ и цвет $$$c_i$$$. «Хорошим» множеством разноцветного взвешенного дерева является любое подмножество вершин дерева, которое удовлетворяет следующим условиям:
Определим вес «хорошего» множества как суммарный вес вершин в этом множестве (пустое множество имеет вес $$$0$$$).
Дано разноцветное взвешенное дерево, необходимо найти максимальный вес «хорошего» множества в нём.
Первая строка содержит два целых числа $$$n$$$ ($$$1 \le n \le 1000$$$) и $$$C$$$ ($$$1 \le C \le 10$$$) — количество вершин в дереве и количество различных цветов, соответственно.
Вторая и третья строки содержат по $$$n$$$ целых чисел $$$w_1, w_2, \ldots, w_n$$$ ($$$1 \le w_i \le 10^{9}$$$) и $$$c_1, c_2, \ldots, c_n$$$ ($$$1 \le c_i \le C$$$) — веса вершин и их цвет, соответственно.
Следующие $$$n - 1$$$ строк описывают рёбра дерева. В $$$j$$$-й из этих строк содержится два целых числа $$$u_j$$$ и $$$v_j$$$ ($$$1 \le u_j, v_j \le n$$$, $$$u_j \neq v_j$$$) — номера вершин, соединённых $$$j$$$-м ребром. Гарантируется, что заданный граф является деревом.
Выведите одно число — наибольший возможный вес «хорошего» множества в данном дереве.
4 41 1 1 11 2 3 41 21 31 4
3
5 35 1 2 3 11 2 2 3 11 21 32 42 5
8
Женя совсем не любит работать, однако ему очень нравится чай Да Хун Пао, который известен своим релаксирующим эффектом. На очередной чайной сессии с Да Хун Пао Евгений задался вопросом, как он может максимизировать своё суммарное расслабление.
На сессии ему предлагается $$$n$$$ чашек с любимым чаем различных сортов, каждая из которых имеет свой коэффициент расслабления $$$a_i$$$. Чашки с чаем стоят в ряд, без пропусков, на одинаковом расстоянии друг от друга. Чтобы не нарушать эстетику, которой Женя очень дорожит, он действует так: пока на столе ещё остались чашки, выбирает либо самую левую, либо самую правую чашку, и выпивает весь чай из неё. После этого сервировщик убирает чашку со стола.
От первой выпитой в течение сессии чашки Женя расслабляется на $$$x_1$$$ единиц, где $$$x_1$$$ — это коэффициент расслабления для первой выпитой чашки чая. От следующей — на $$$2 x_2$$$ единиц, где $$$x_2$$$ — это коэффициент расслабления для второй выпитой чашки чая. И так далее: от чашки, выпитой под номером $$$i$$$, Евгений расслабляется на $$$i x_i$$$ единиц.
Помогите Жене узнать, какое максимальное суммарное количество единиц расслабления он сможет получить за сессию с Да Хун Пао.
В первой строке задано целое число $$$n$$$ ($$$1 \le n \le 5000$$$).
В следующей строке записано $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 1000$$$) — коэффициенты расслабления всех предоставленных Жене чашек Да Хун Пао.
Выведите одно целое число: максимальную суммарную величину расслабления, которой Женя может достичь в течение сессии Да Хун Пао.
41 2 3 4
30
41 2 1 1
14
В волшебном королевстве Эквилибрия после могущественного заклинания случилась непредвиденная буря, которая затопила земли между Великой библиотекой Эквилибрии и торговым кварталом. Ваш герой, юный маг, должен пройти от библиотеки к рынку, чтобы доставить важные свитки с заклинаниями. Затопленные поля королевства представляют собой сетку размером $$$n \times m$$$, и каждая ячейка сетки содержит воду определённой глубины. Маг может перемещаться только вправо, влево и вниз по сетке ($$$(\mathit{row}, \mathit{col} + 1)$$$, $$$(\mathit{row}, \mathit{col} - 1)$$$ и $$$(\mathit{row} + 1, \mathit{col})$$$), начиная своё путешествие из верхнего левого угла ($$$(1, 1)$$$, библиотека) и заканчивая в нижнем правом ($$$(n, m)$$$, рынок). Ваша задача — найти путь, при проходе по которому максимальная глубина воды будет минимальной, чтобы ваш герой оставался как можно более сухим.
В первой строке даны два целых числа $$$n$$$ и $$$m$$$ ($$$2 \le n, m \le 500$$$) — размеры Эквилибрии. В следующих $$$n$$$ строках даны по $$$m$$$ целых чисел $$$d_{i, j}$$$ ($$$0 \le d_{i, j} \le 10^9$$$, $$$d_{1, 1} = d_{n, m} = 0$$$), обозначающих глубину воды в каждой ячейке.
Выведите максимальную глубину воды на найденном пути.
3 30 1 99 1 99 1 0
1
5 30 1 19 9 21 1 12 9 91 1 0
2
Доминошка на клетчатой плоскости — это фигура из двух клеток, имеющих общую сторону. Замощение доминошками прямоугольника из $$$m \times n$$$ клеток — это такой набор доминошек, целиком лежащих внутри прямоугольника, что каждая клетка прямоугольника покрыта ровно одной из них. Два замощения $$$P$$$ и $$$Q$$$ считаются различными, если существуют доминошки $$$p \in P$$$ и $$$q \in Q$$$, у которых ровно одна общая клетка.
Сколько существует способов замостить прямоугольник $$$m \times n$$$ доминошками? Так как количество способов может быть очень большим, нужно вывести ответ по модулю $$$10^9 + 7$$$.
Первая строка ввода содержит два целых числа $$$m$$$ и $$$n$$$ — высота и ширина прямоугольника, соответственно ($$$1 \le m \le 6$$$, $$$1 \le n \le 10^{18}$$$).
Выведите одно число — количество способов замостить прямоугольник $$$m \times n$$$ доминошками по модулю $$$10^9 + 7$$$.
3 4
11
3 1
0
Окорочок худеет, и потому вплоть до осени его диета будет состоять только из брокколи, риса и куриной грудки. Окорочок может кушать любое количество брокколи, но на рис и куриную грудку есть ограничения.
До осени у Окорочка будет ровно $$$n$$$ походов в магазин, и для каждого похода известно $$$a_i$$$ — количество сухого риса в граммах — и $$$b_i$$$ — количество сырой куриной грудки в граммах, которые он собирается купить. Также известно, что один приём пищи Окорочка будет состоять из $$$k$$$ граммов риса и грудки в сумме. Но Окорочок решил не смешивать рис и грудку из разных походов в магазин, а потому приём пищи всегда будет иметь один из следующих типов:
Например, если у Окорочка будет два похода в магазин, в первый поход он купит 200 граммов риса и 500 граммов куриной грудки, а во второй — 100 граммов риса и 200 граммов куриной грудки, то он сможет приготовить только 2 приёма пищи с $$$k = 400$$$ — например, так:
Помогите Окорочку определить максимальное количество приёмов пищи, которые он сможет приготовить для себя до осени!
В первой строке заданы два целых числа $$$n$$$ и $$$k$$$ ($$$1 \leq n, k \leq 500$$$) — количество походов в магазин и суммарный вес еды в граммах для одного приёма пищи, соответственно.
В $$$i$$$-й из следующих $$$n$$$ строк заданы два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$0 \leq a_i, b_i \leq 10^9$$$) — количество граммов риса и куриной грудки, купленной в $$$i$$$-й поход в магазин, соответственно.
Выведите единственное число — максимальное количество приёмов пищи, которые Окорочок сможет приготовить.
2 400200 500100 200
2
1 350100 250
1
2 500100 200300 100
0
Первый пример описан выше.
Во втором примере: Окорочок может приготовить ровно один приём пищи, используя все продукты с первого (и единственного) похода в магазин.
В третьем примере: Окорочок не сможет приготовить ни одного приёма пищи, потому что в обоих походах в магазин суммарный вес риса и куриной грудки меньше, чем нужно для одного приёма пищи. Кроме того, суммарный вес риса за два похода меньше, чем нужно для одного приёма пищи. Аналогичное утверждение верно и для куриной грудки.
Петя и Вася играют в игру. У них есть три кучки камней размера $$$n_1$$$, $$$n_2$$$, и $$$n_3$$$ соответственно. За ход разрешается взять из одной любой кучки ровно $$$a_1$$$, $$$a_2$$$, $$$\ldots$$$, $$$a_{k - 1}$$$ или $$$a_k$$$ камней. Петя и Вася по очереди берут камни, начинает Петя. Проигрывает тот, кто не может сделать свой ход. Определите имя того, кто победит.
В первой строке даны целые числа $$$n_1$$$, $$$n_2$$$, $$$n_3$$$ ($$$0 \leq n_1, n_2, n_3 \leq 100$$$).
Во второй строке дано целое число $$$k$$$ ($$$1 \leq k \leq \max(n_1, n_2, n_3)$$$).
В третьей строке даны $$$k$$$ целых чисел в порядке строгого возрастания: $$$a_1, a_2, \ldots, a_k$$$ ($$$1 \leq a_i \leq \max(n_1, n_2, n_3)$$$).
Гарантируется, что существует хотя бы один ход, и любое $$$a_i$$$ можно взять первым ходом.
Выведите имя того, кто победит: Peter или Vasya.
1 1 111
Peter
10 10 1022 3
Vasya
Дан ориентированный граф, являющийся корневым деревом. Дуги графа направлены от сыновей к отцам, и из каждой вершины можно по дугам прийти в корень. В вершинах графа написаны целые числа. Гарантируется, что все числа различные.
Рассмотрим все пути из листьев в корень; здесь листом считается вершина, у которой нет сыновей. Для каждого пути посчитаем сумму $$$k$$$ максимальных чисел, встречающихся в его вершинах — или всех этих чисел, если в пути меньше $$$k$$$ вершин. Найдите максимальную такую сумму.
В первой строке записаны через пробел два целых числа $$$n$$$ и $$$k$$$ — количество вершин в графе и ограничение на количество взятых вершин на пути ($$$1 \leq n \leq 300\,000$$$, $$$1 \leq k \leq 300\,000$$$). В следующих $$$n$$$ строках задан граф. В $$$i$$$-й из этих строк записаны через пробел два целых числа $$$p_i$$$ и $$$q_i$$$; здесь $$$p_i$$$ — номер вершины-предка $$$i$$$-й вершины, а $$$q_i$$$ — число, записанное в этой вершине ($$$0 \leq q_i \leq 10^9$$$). Для корня дерева $$$p_i = 0$$$; для всех остальных вершин $$$1 \leq p_i \leq n$$$. Числа $$$q_i$$$ все различны.
Гарантируется, что заданный граф является корневым деревом.
В первой строке выведите одно число — максимальную сумму не более чем $$$k$$$ чисел на некотором пути из листа в корень.
5 20 11 21 32 43 5
8
7 30 151 12 213 991 145 206 100
135