Киберлюди прошли первый тест гораздо быстрее, чем Далеки. К счастью для нас, Далеки очень разозлились, и даже уничтожили немного киберлюдей.
После того, как драка прекратилась, Хайди дала им ещё одну времязатратную задачу.
На плоскости даны $$$n$$$ точек, а также дан радиус $$$r$$$. Найдите наибольшее число точек, которые можно покрыть $$$L^1$$$-шариком с радиусом $$$r$$$.
$$$L^1$$$-шариком с радиусом $$$r$$$ и центром $$$(x_0, y_0)$$$ называется множество точек $$$(x, y)$$$, таких что манхэттенское расстояние между $$$(x_0, y_0)$$$ и $$$(x, y)$$$ не превосходит $$$r$$$.
Манхэттенское расстояние между $$$(x_0, y_0)$$$ и $$$(x, y)$$$ определяется как $$$|x - x_0| + |y - y_0|$$$.
Первая строка содержит целые числа $$$n, r$$$ ($$$1 \le n \le 300\,000, 1 \le r \le 10^6$$$) — количество точек и радиус шарика.
Каждая из следующих $$$n$$$ строк содержит целые числа $$$x_i, y_i$$$ ($$$-10^6 \leq x_i, y_i \leq 10^6$$$), задающие координаты $$$i$$$-й точки.
Гарантируется, что все точки различны.
Выведите одно целое число — максимальное количество точек, которое может покрыть $$$L^1$$$-шарик радиуса $$$r$$$.
5 1 1 1 1 -1 -1 1 -1 -1 2 0
3
5 2 1 1 1 -1 -1 1 -1 -1 2 0
5
В первом примере шарик с центром $$$(1, 0)$$$ покрывает точки $$$(1, 1)$$$, $$$(1, -1)$$$, $$$(2, 0)$$$.
Во втором примере шарик с центром в $$$(0, 0)$$$ покрывает все точки.
Обратите внимание, что $$$x_0$$$ и $$$y_0$$$ не обязаны быть целыми числами.
Название |
---|