Codeforces Round 555 (Div. 3) |
---|
Закончено |
Вам даны два массива $$$a$$$ и $$$b$$$, в каждом из которых по $$$n$$$ элементов. Все элементы не меньше $$$0$$$ и не больше $$$n-1$$$.
Вы можете переставить элементы массива $$$b$$$ (можно и оставить порядок тем же самым). После этого будет создан новый массив $$$c$$$ из элементов $$$n$$$, $$$i$$$-й элемент которого равен $$$c_i = (a_i + b_i) \% n$$$, где $$$x \% y$$$ — остаток от деления $$$x$$$ на $$$y$$$.
Ваше задание — переставить элементы массива $$$b$$$ таким образом, чтобы получить лексикографически минимальный массив $$$c$$$.
Массив $$$x$$$ длины $$$n$$$ лексикографически меньше, чем массив $$$y$$$ длины $$$n$$$, если существует такой индекс $$$i$$$ ($$$1 \le i \le n$$$), что $$$x_i < y_i$$$, и для всех индексов $$$j$$$ ($$$1 \le j < i$$$) $$$x_j = y_j$$$.
В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество элементов в $$$a$$$, $$$b$$$ и $$$c$$$.
Во второй строке записаны $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i < n$$$), где $$$a_i$$$ — $$$i$$$-й элемент массива $$$a$$$.
В третьей строке записаны $$$n$$$ целых чисел $$$b_1, b_2, \dots, b_n$$$ ($$$0 \le b_i < n$$$), где $$$b_i$$$ — $$$i$$$-й элемент массива $$$b$$$.
Выведите лексикографически минимальный массив $$$c$$$. Напоминаем, ваша задача состоит в том, чтобы переставить элементы массива $$$b$$$ и получить лексикографически минимальный массив $$$c$$$, где $$$i$$$-й элемент $$$c$$$ — это $$$c_i = (a_i + b_i) \% n$$$.
4 0 1 2 1 3 2 1 1
1 0 0 2
7 2 5 1 5 3 4 3 2 4 3 5 6 5 1
0 0 0 1 0 2 4
Название |
---|