Codeforces Round 826 (Div. 3) |
---|
Закончено |
У Дмитрия есть $$$n$$$ разноцветных отрезков на координатной прямой $$$Ox$$$. Каждый отрезок характеризуется тремя целыми числами $$$l_i$$$, $$$r_i$$$ и $$$c_i$$$ ($$$1 \le l_i \le r_i \le 10^9, 1 \le c_i \le n$$$), где $$$l_i$$$ и $$$r_i$$$ — координаты концов $$$i$$$-го отрезка, а $$$c_i$$$ — его цвет.
Дмитрий любит находить минимальные расстояния между отрезками. Однако он считает неинтересными пары отрезков одного цвета. Поэтому он хочет для каждого отрезка узнать расстояние от этого отрезка до ближайшего отрезка другого цвета.
Расстояние между двумя отрезками — это минимальное из расстояний между точкой первого отрезка и точкой второго отрезка. В частности, если отрезки пересекаются, то расстояние между ними равно $$$0$$$.
Например, у Дмитрия есть $$$5$$$ отрезков:
Первая строка входных данных содержит целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных в тесте.
Далее следуют описания наборов входных данных.
Первая строка описания каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — количество отрезков.
Следующие $$$n$$$ строк содержат описания отрезков. Каждый отрезок описывается тремя целыми числами $$$l_i$$$, $$$r_i$$$ и $$$c_i$$$ ($$$1 \le l_i \le r_i \le 10^9, 1 \le c_i \le n$$$) — координаты левого и правого концов $$$i$$$-го отрезка, а также цвет этого отрезка. Гарантируется, что есть хотя бы $$$2$$$ отрезка разного цвета.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных в отдельной строке выведите $$$n$$$ целых чисел, где $$$i$$$-е число равно расстоянию от $$$i$$$-го отрезка до ближайшего отрезка другого цвета.
931 2 13 4 15 6 22100000000 200000000 1900000000 1000000000 251 2 12 3 23 4 34 5 45 6 551 5 14 9 21 2 18 9 25 7 321 100 210 90 131 1 110 10 21000000000 1000000000 333 4 12 5 11 6 265 6 211 12 37 8 23 4 21 2 19 10 221 3 12 3 2
3 1 1 700000000 700000000 0 0 0 0 0 0 0 2 1 0 0 0 9 9 999999990 0 0 0 3 1 3 1 1 1 0 0
4811 16 712 15 72 5 817 22 51 8 819 23 816 16 66 7 591 4 35 11 18 11 31 10 12 11 11 10 43 11 15 7 11 11 1925 25 126 26 124 24 213 14 212 16 217 18 119 19 124 27 224 27 1915 18 120 22 213 22 213 22 23 13 26 10 23 6 219 24 222 24 2
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 3 0 0 0 2 0 0 2 5 9 1 4
В первом наборе входных данных первого примера есть только один отрезок цвета $$$2$$$, а все остальные отрезки имеют цвет $$$1$$$. Поэтому для отрезков цвета $$$1$$$ ответ равен расстоянию до $$$3$$$-го отрезка, а для $$$3$$$-го ответ равен минимальному из расстояний до отрезков цвета $$$1$$$.
Во втором наборе входных данных первого примера есть только $$$2$$$ отрезка, и для них обоих ответ равен расстоянию между ними.
В третьем наборе входных данных первого примера каждый отрезок пересекается хотя бы одним своим концом с отрезком другого цвета, поэтому все ответы равны $$$0$$$.
Четвёртый набор входных данных первого примера разобран в условии.
В пятом наборе входных данных первого примера один отрезок полностью лежит внутри другого, и для них обоих ответ равен $$$0$$$.
В шестом наборе входных данных первого примера все отрезки являются точками разного цвета.
Название |
---|