Предположим, вы работаете в некоем стриминговом сервисе. В сервисе присутствуют $$$n$$$ активных пользователей и $$$10^9$$$ треков, которые эти пользователи могут прослушивать. Пользователи могут ставить лайки трекам, и на основе лайков сервис должен рекомендовать им новые треки.
Треки пронумерованы от $$$1$$$ до $$$10^9$$$. Оказалось, что треки, которые нравятся $$$i$$$-му пользователю, образуют отрезок $$$[l_i, r_i]$$$.
Скажем, что пользователь $$$j$$$ является предиктором для пользователя $$$i$$$ ($$$j \neq i$$$), если пользователь $$$j$$$ поставил лайки всем трекам, которые нравятся $$$i$$$-му пользователю (и, возможно, некоторым другим трекам тоже).
Также скажем, что трек сильно рекомендован для пользователя $$$i$$$, если трек еще не понравился $$$i$$$-му пользователю, но он понравился каждому предиктору $$$i$$$-го пользователя.
Посчитайте количество сильно рекомендованных треков для каждого пользователя $$$i$$$. Если у пользователя нет предикторов, то выведите $$$0$$$ для него.
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следуют сами $$$t$$$ наборов.
В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество пользователей.
В следующих $$$n$$$ строках задано по два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$1 \le l_i \le r_i \le 10^9$$$) — отрезок треков, которые нравятся $$$i$$$-му пользователю.
Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел, где $$$i$$$-е целое число — это количество сильно рекомендованных треков для $$$i$$$-го пользователя (или $$$0$$$, если у пользователя нет предикторов).
433 82 54 5242 421 1000000000342 421 100000000042 4261 103 103 75 74 41 2
0 0 1 999999999 0 0 0 0 0 2 3 2 4 8
В первом наборе входных данных:
Во втором наборе входных данных второй пользователь является предиктором для первого пользователя. Поэтому все треки, кроме $$$42$$$-го, сильно рекомендованы для первого пользователя.
В третьем наборе входных данных у первого пользователя два предиктора: пользователи $$$2$$$ и $$$3$$$, но нет трека, который понравился бы им и не понравился бы самому пользователю.
Название |
---|