В последней миссии MDCS успешно запустили $$$N$$$ роботов с искусственным интеллектом на Марс. Перед тем, как приступить к изучению местности, роботов нужно инициализировать, а для этого всех роботов выстроили в линию. Каждый робот может быть представлен тремя числами: позицией ($$$x_i$$$), радиусом видимости ($$$r_i$$$) и IQ ($$$q_i$$$).
Так как роботы умные, некоторые из них будут разговаривать между собой, если они видят друг друга. Робот может видеть всех роботов на отрезке $$$[x_i - r_i, x_i + r_i]$$$ включительно. Однако не все роботы будут разговаривать, только те, у которых похожий IQ. Два IQ похожи, если их разность по модулю не превосходит $$$K$$$.
Помогите нам вычислить, сколько пар роботов могут поговорить друг с другом, чтобы мы могли правильно запланировать обновления и не допустить ссор.
Первая строка содержит два целых числа $$$N (1 \leq N \leq 10^5) $$$ и $$$K (0 \leq K \leq 20)$$$.
Следующие $$$N$$$ строк содержат по три целых числа $$$x_i, r_i, q_i (0 \leq x_i,r_i,q_i \leq 10^9)$$$ — позицию, радиус видимости и IQ каждого робота.
Выведите одно число — ответ на задачу.
3 2
3 6 1
7 3 10
10 5 8
1
В примере первый робот видит второго, но не наоборот. Первый робот не видит третьего. Второй и третий робот видят друг друга, и их IQ не отличается более, чем на 2, поэтому только они могут поговорить друг с другом.
Название |
---|