Пандемия охватила все страны мира, и Берляндия не стала исключением. Даже на Всеберляндской олимпиаде по информатике были введены противовирусные меры.
Всего в олимпиаде участвуют $$$n$$$ человек, и, чтобы соблюсти все предписания руководства, жюри олимпиады решило приглашать участников на тур по одному с интервалом $$$x$$$ минут. Таким образом первый участник начнёт тур в момент времени $$$0$$$, второй участник начнёт тур в момент времени $$$x$$$, третий — в момент времени $$$2 \cdot x$$$ и так далее.
Несмотря на разное время начала, длительность тура для каждого участника составляет ровно $$$t$$$ минут. Из-за этого некоторые участники заканчивают писать тур раньше остальных. Когда участник заканчивает писать тур, величина недовольства организацией олимпиады для этого участника равна числу других участников, которые в текущий момент времени еще пишут или только начинают писать тур, но еще не закончили его.
Помогите организаторам олимпиады выяснить, чему равно суммарное недовольство всех участников олимпиады.
В первой строке вводится единственное целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^9$$$) — число участников олимпиады.
Во второй строке вводится единственное целое число $$$x$$$ ($$$1 \le x \le 2 \cdot 10^9$$$) — интервал в минутах между временами начала тура для участников.
В третей строке вводится единственное целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^9$$$) — длительность тура.
В единственной строке выведите одно число — суммарное недовольство всех участников олимпиады.
4 2 5
5
3 1 2
3
3 3 10
3
В первом примере первый участник начнёт писать тур в момент времени $$$0$$$ и закончит в момент времени $$$5$$$. К этому времени второй и третий участники уже начнут писать тур, поэтому недовольство первого участника будет равно $$$2$$$.
Второй участник начнёт писать в момент времени $$$2$$$ и закончит в момент времени $$$7$$$. К этому моменту третий и четвёртый участники уже начнут писать тур, поэтому недовольство второго будет равно $$$2$$$.
Третий участник начнёт писать тур в момент времени $$$4$$$ и закончит в момент времени $$$9$$$. К этому времени четвёртый участник уже начнёт писать тур, поэтому недовольство третьего будет равно $$$1$$$.
Четвёртый участник начнёт писать тур в момент времени $$$6$$$ и закончит в момент времени $$$11$$$. В момент времени $$$9$$$ уже никто не будет писать тур, поэтому недовольство четвёртого будет равно $$$0$$$.
Таким образом, суммарное недовольство всех участников будет равно $$$2+2+1+0=5$$$.
Во втором примере первый участник начнёт писать тур в момент времени $$$0$$$ и закончит в момент времени $$$2$$$. К этому моменту второй участник уже будет писать тур, а третий участник как раз начнёт в момент времени $$$2$$$. Поэтому недовольство первого участника будет равно $$$2$$$.
Второй участник начнёт в момент времени $$$1$$$ и закончит в момент времени $$$3$$$. К этому моменту только третий участник будет всё ещё писать тур.
Таким образом, суммарное недовольство всех участников будет равно $$$2+1=3$$$.
В данной задаче $$$20$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$5$$$ баллов. Результаты проверки ваших решений на всех тестах будут доступны сразу во время соревнования.
Решения, корректно работающие при $$$n, x, t \le 10$$$, наберут не менее $$$25$$$ баллов.
Решения, корректно работающие при $$$n \le 1000$$$, наберут не менее $$$50$$$ баллов.
Решения, корректно работающие при $$$n \le 100\,000$$$, наберут не менее $$$75$$$ баллов.
Друзья Вася Л. и Петя П. — талантливые мальчики, которые любят писать песни собственного сочинения. В будущем они хотят стать популярными музыкантами. Ребята знают: чтобы добиться успеха, нужно регулярно тренироваться. Именно поэтому они каждый день пишут по новой песне, совершенствуя свое мастерство.
Однажды Петя в очередной раз написал грустную песню про любовь и поспешил показать ее Васе. Песня представляет собой строку из маленьких букв английского алфавита. У Васи сразу возникло $$$q$$$ вопросов про эту песню. Каждый вопрос представляет собой некоторый отрезок песни с позиции $$$l$$$ до позиции $$$r$$$ включительно. Вася рассматривает подстроку, образованную символами на этом отрезке, а затем повторяет каждую букву в этой подстроке $$$k$$$ раз, где $$$k$$$ — порядковый номер соответствующей буквы в алфавите. Например, если Вася выбрал подстроку «abbcb», то он повторит букву «a» один раз, каждую из букв «b» — по два раза, букву «c» — три раза, и полученная строка будет равна «abbbbcccbb», ее длина равна 10. Вася интересуется именно длиной полученной строки.
Помогите Пете ответить Васе на его вопросы, а именно, для каждого из заданных вопросов определите длину строки, которую выпишет Вася.
В первой строке вводятся числа $$$n, q$$$ ($$$1\leq n\leq 100\,000, 1\leq q \leq 100\,000$$$) — длина песни и количество вопросов.
Во второй строке дана строка $$$s$$$ — сама песня, представляющая собой строку длины $$$n$$$ из маленьких букв английского алфавита.
В следующих $$$q$$$ строках даны описания вопросов. Каждое описание состоит из двух чисел $$$l$$$ и $$$r$$$ $$$(1 \leq l \leq r \leq n)$$$ — границы каждого из вопросов.
Выведите $$$q$$$ строк — для каждого вопроса выведите длину строки, которую выпишет Вася.
В данной задаче $$$20$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$5$$$ баллов. Результаты проверки ваших решений на всех тестах будут доступны сразу во время соревнования.
Решения, корректно работающие при $$$n, q \le 1000$$$, наберут не менее $$$25$$$ баллов.
Решения, корректно работающие при $$$n, q \le 10\,000$$$, наберут не менее $$$50$$$ баллов.
Решения, корректно работающие в случае, когда $$$s$$$ состоит из символов $$$a,b$$$, наберут не менее $$$25$$$ баллов.
7 3 abacaba 1 3 2 5 1 7
4 7 11
7 4 abbabaa 1 3 5 7 6 6 2 4
5 4 1 5
13 7 sonoshikumiwo 1 5 2 10 7 7 1 13 4 8 2 5 3 9
82 125 9 191 62 63 97
В первом примере Васю интересуют три вопроса. В первом вопросе Вася рассматривает подстроку «aba», которая превратится в «abba», а значит, ответ на этот вопрос равен 4. Во втором вопросе Вася рассматривает подстроку «baca», которая превратится в «bbaccca», а значит, ответ на этот вопрос будет равен 7. В третьем вопросе Вася рассматривает всю строку «abacaba», которая превратится в «abbacccabba» — строку длины 11.
Паша и Тёма приехали преподавать в зимний ноутбучный университет. Теперь им необходимо разобраться с учениками.
Есть $$$n$$$ учеников, пронумерованных от $$$1$$$ до $$$n$$$. Уровень знаний $$$i$$$-го ученика равен $$$a_i$$$. Всех учеников нужно распределить на стабильные параллели. Параллель называется стабильной, если после сортировки всех учеников параллели в порядке возрастания их уровня знаний у любых двух подряд идущих учеников разница уровня знаний не превосходит $$$x$$$.
Преподаватели достаточно находчивые люди, поэтому они могут пригласить не более $$$k$$$ дополнительных учеников с любым требуемым уровнем знаний. Определите минимальное число стабильных параллелей, на которые можно распределить всех учеников (возможно, пригласив не более $$$k$$$ новых учеников).
В первой строке вводятся три целых числа $$$n$$$, $$$k$$$, $$$x$$$ ($$$1 \le n \le 200\,000, 0 \le k \le 10^{18}, 1 \le x \le 10^{18}$$$) — количество учеников, сколько учеников можно пригласить дополнительно и максимальная допустимая разница уровня знаний.
Во второй строке вводится $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^{18}$$$) — уровни знаний учеников.
В единственной строке выведите одно число — искомое минимальное число стабильных параллелей, на которое можно разбить учеников.
В данной задаче $$$50$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$2$$$ балла. Результаты проверки ваших решений на всех тестах будут доступны сразу во время соревнования.
Решения, корректно работающие при $$$n, k, x, a_i \le 10$$$, наберут не менее $$$20$$$ баллов.
Решения, корректно работающие при $$$k = 0$$$, наберут не менее $$$14$$$ баллов.
Решения, корректно работающие, когда ответ не превосходит $$$2$$$, наберут не менее $$$16$$$ баллов.
Решения, корректно работающие при $$$n, k, x, a_i \le 1000$$$, наберут не менее $$$40$$$ баллов.
8 2 3 1 1 5 8 12 13 20 22
2
13 0 37 20 20 80 70 70 70 420 5 1 5 1 60 90
3
В первом примере из условия можно пригласить учеников с уровнями знаний, равными $$$2$$$ и $$$11$$$. Тогда учеников можно разделить на следующие стабильные параллели:
Во втором примере из условия новых учеников приглашать нельзя, поэтому потребуется $$$3$$$ параллели:
Девочка Лена — самая экономная девочка в Москве. Поэтому когда папа поручил ей закупку продуктов для поездки на дачу, она сразу отправилась в самый лучший магазин — «PriceFixed». У этого магазина есть несколько особенностей:
Лене нужно купить $$$n$$$ товаров: $$$i$$$-го товара нужно купить $$$a_i$$$ штук. Помогите Лене понять, какую минимальную сумму денег ей нужно будет потратить, если она будет выбирать порядок покупки товаров оптимальным образом.
В первой строке вводится число $$$n$$$ $$$(1 \leq n \leq 100\,000)$$$ — количество различных товаров в списке.
В следующих $$$n$$$ строках вводятся описания товаров. Каждое описание состоит из двух чисел $$$a_i$$$ и $$$b_i$$$, ($$$1 \leq a_i \leq 10^{14}$$$, $$$1 \leq b_i \leq 10^{14}$$$) — требуемое число товаров типа $$$i$$$ и сколько товаров нужно купить, чтобы получить скидку на товар $$$i$$$.
Сумма всех $$$a_i$$$ в тесте не превосходит $$$10^{14}$$$.
Выведите искомую минимальную сумму, которая требуется Лене для совершения всех покупок.
В данной задаче $$$20$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$5$$$ баллов. Результаты проверки ваших решений на всех тестах будут доступны сразу во время соревнования.
Обозначим за $$$A$$$ сумму по всем $$$a_i$$$ в тесте.
Решения, корректно работающие при $$$n, A \le 8$$$, наберут не менее $$$20$$$ баллов.
Решения, корректно работающие при $$$n, A \le 15$$$, наберут не менее $$$40$$$ баллов.
Решения, корректно работающие при $$$n, A \le 1000$$$, наберут не менее $$$60$$$ баллов.
Решения, корректно работающие при $$$n, A \le 100\,000$$$, наберут не менее $$$80$$$ баллов.
3 3 4 1 3 1 5
8
5 2 7 2 8 1 2 2 4 1 8
12
В первом примере из условия Лена может купить товары в таком порядке:
Суммарно она потратит 8 рублей. Можно показать, что меньше потратить невозможно.
Во втором примере из условия Лена может купить товары в таком порядке:
Суммарно при таком порядке приобретения товаров Лена потратит 12 рублей.
Алиса и Боб играют в очень интересную карточную игру. На каждой карте в этой игре написано одно целое число. На протяжении игры у Боба в каждой из двух рук находится ровно одна карта. Изначально Боб держит в левой руке карту с числом 0, а в правой руке — также карту с числом 0.
Алиса делает $$$n$$$ ходов. На ходу с номером $$$i$$$ она предлагает Бобу карту с числом $$$k_i$$$, а также 4 числа $$$a_i$$$, $$$b_i$$$, $$$c_i$$$, $$$d_i$$$. Боб выбирает, в какую руку он хочет взять новую карту, после чего выбрасывает карту из этой руки и берет в эту руку новую карту Алисы. После этого Алиса проверяет карты Боба. А именно, пусть он в левой руке держит карту $$$x$$$, а в правой — карту $$$y$$$. Тогда должно выполняться $$$a_i \le x \le b_i$$$ и $$$c_i \le y \le d_i$$$, иначе игра немедленно заканчивается.
Боб заранее знает все числа $$$k_i$$$, $$$a_i$$$, $$$b_i$$$, $$$c_i$$$ и $$$d_i$$$. Помогите ему выбрать для каждого хода, в левую или правую руку ему следует класть очередную карту, чтобы в итоге все условия Алисы были выполнены.
В первой строке вводятся два целых числа $$$n$$$ и $$$m$$$ ($$$2 \le n \le 100\,000$$$, $$$2 \le m \le 10^9$$$) — количество ходов в игре и максимально возможное число, записанное на карте.
Далее следует описание $$$n$$$ ходов. Каждое описание состоит из трех строк.
В первой строке описания $$$i$$$-го запроса вводится целое число $$$k_i$$$ ($$$0 \le k_i \le m$$$) — число, записанное на новой карте.
Во второй строке описания $$$i$$$-го запроса вводятся два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$0 \le a_i \le b_i \le m$$$) — минимальное и максимальное допустимые значения для карты из левой руки после хода $$$i$$$.
В третьей строке описания $$$i$$$-го запроса вводятся два целых числа $$$c_i$$$ и $$$d_i$$$ ($$$0 \le c_i \le d_i \le m$$$) — минимальное и максимальное допустимые значения для карты из правой руки после хода $$$i$$$.
Если Боб не сможет удовлетворить все условия Алисы, выведите «No». Иначе в первой строке выведите «Yes», а затем в следующей строке выведите $$$n$$$ чисел — в какую руку Бобу следует класть очередную карту: если Бобу нужно взять карту в левую руку, выведите 0, иначе выведите 1. В случае, если у Боба существует несколько способов удовлетворить условиям Алисы, выведите любой из них.
Тесты к этой задаче состоят из 6 групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов некоторых из предыдущих групп.
| Доп. ограничения | |||||
| Группа | Баллы | $$$n$$$ | $$$m$$$ | Необх. группы | Комментарий |
| 0 | 0 | – | – | – | Тесты из условия. |
| 1 | 15 | $$$n \le 15$$$ | $$$m \le 100$$$ | 0 | |
| 2 | 15 | $$$n \le 100$$$ | $$$m \le 100$$$ | 0, 1 | |
| 3 | 15 | $$$n \le 1000$$$ | $$$m \le 1000$$$ | 0 – 2 | |
| 4 | 15 | $$$n \le 10\,000$$$ | $$$m \le 10\,000$$$ | 0 – 3 | |
| 5 | 20 | – | – | – | $$$a_i = 0$$$ и $$$c_i = 0$$$ при любом $$$i$$$ |
| 6 | 20 | – | – | 0 – 5 | |
2 10 3 0 3 0 2 2 0 4 0 2
Yes 0 1
2 10 3 0 3 0 2 2 3 4 0 1
No
5 10 3 0 3 0 3 7 4 7 1 3 2 2 3 3 7 8 1 8 1 8 6 1 6 7 10
Yes 1 0 0 1 0
В первом примере из условия Боб может взять карту из первого хода в левую руку. После этого у него в руках будут карты $$$3$$$ и $$$0$$$, которые соответствуют ограничениям ($$$0 \le 3 \le 3$$$ для левой руки и $$$0 \le 0 \le 2$$$ для правой).
Карту из второго хода Боб может взять в правую руку, после чего в его руках будут карты $$$3$$$ и $$$2$$$, которые соответствуют ограничениям ($$$0 \le 3 \le 4$$$ для левой руки и $$$0 \le 2 \le 2$$$ для правой руки). Таким образом, Боб может удовлетворить всем ограничениям Алисы, и в этом случае ответ «Yes».
У Васи есть массив, состоящий из $$$n$$$ чисел $$$a_1, a_2, \ldots, a_n$$$. Для каждой позиции $$$i$$$ и для каждого подотрезка массива $$$[l, r]$$$, который содержит позицию $$$i$$$ (то есть, $$$1 \le l \le i \le r \le n$$$), Вася вычисляет значение $$$c_{i, l, r}$$$ следующим образом. Вася выписывает на листочек числа из массива с позиции $$$l$$$ до позицию $$$r$$$, всего $$$len=r-l+1$$$ чисел (среди которых обязательно есть $$$a_i$$$), и сортирует выписанные числа по возрастанию. После чего Вася находит, на какой позиции $$$j$$$ в полученном отсортированном массиве стоит число $$$a_i$$$. Если таких позиций несколько, то среди них он выбирает ту, которая максимизирует расстояние от середины массива — позиции $$$mid = \lceil (len+1) / 2 \rceil$$$ ($$$len / 2 + 1$$$ в случае четного $$$len$$$ и $$$(len+1)/2$$$ в случае нечетного $$$len$$$). Полученное расстояние $$$|j - mid|$$$ и есть искомая величина $$$c_{i,l,r}$$$.
Например, если у Васи был массив $$$a=\{5,1,3,2,1,7\}$$$, а $$$i=2$$$, $$$l=2$$$, $$$r=5$$$, то Вася выпишет на листочек числа $$$\{1,3,2,1\}$$$, отсортирует их и получит массив $$$\{1,1,2,3\}$$$, длина которого равна 4. Середина этого массива находится на позиции $$$4/2+1=3$$$, а искомое число $$$a_i=1$$$ стоит в этом массиве на позициях 1 и 2. Среди этих двух позиций Вася выбирает ту, которая дальше от середины, то есть, позицию 1. Искомая разность между позициями равна 2, и это и есть значение $$$c_{2,2,5}$$$.
Для каждой позиции $$$i$$$ Вася вычисляет величину $$$b_i$$$, которая равна максимуму среди значений $$$c_{i,l,r}$$$ среди всех подотрезков, содержащих позицию $$$i$$$.
Как вы видите, определение числа $$$b_i$$$ достаточно сложное. Помогите Васе вычислить значения $$$b_i$$$ для всех позиций массива.
В первой строке входных данных находится одно целое число $$$n$$$ ($$$1 \le n \le 200\,000$$$) — размер массива Васи.
Во второй строке находится $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le n$$$) — элементы массива.
В единственной строке выведите $$$n$$$ чисел, $$$i$$$-е из них должно быть равно $$$b_i$$$.
Тесты к этой задаче состоят из семи групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов необходимых групп.
| Дополнительные ограничения | |||||
| Группа | Баллы | $$$n$$$ | $$$a_i$$$ | Необх. группы | Комментарий |
| 0 | 0 | – | – | – | Тесты из условия. |
| 1 | 11 | $$$n \le 50$$$ | – | 0 | |
| 2 | 12 | $$$n \le 1000$$$ | – | 0, 1 | |
| 3 | 23 | $$$n \le 5000$$$ | – | 0, 1, 2 | |
| 4 | 17 | $$$n \le 50000$$$ | $$$a_i \le 10$$$ | 0 | |
| 5 | 10 | $$$n \le 50000$$$ | – | – | Все $$$a_i$$$ различны |
| 6 | 13 | $$$n \le 50000$$$ | – | 0, 1, 2, 3, 4, 5 | |
| 7 | 14 | – | – | 0, 1, 2, 3, 4, 5, 6 | |
5 5 4 3 2 1
2 1 1 2 2
7 3 6 5 6 2 1 3
2 3 1 3 2 3 1
Разберем подробнее первый пример.