// Uloha: KSP-31-3-2 // Napsal Marek podle Zuzcina reseni. // C++17 #include #include #include #include #include #include using namespace std; int solve_nn(vector> points, double k) { auto by_y_coord = [](auto p1, auto p2) { return p1.second < p2.second; }; sort(points.begin(), points.end(), by_y_coord); int result = 0; for (auto [a, b] : points) { queue lifo; for (auto [x, y] : points) { if (a <= x && x <= a+k && b-k <= y && y <= b+k) { lifo.push(y); while (y - lifo.back() > k) lifo.pop(); result = max(result, lifo.size()); } } } return result; } auto read_input() { int n; cin >> n; double k; cin >> k; auto points = vector>(n); for (auto&& [x, y] : points) cin >> x >> y; return make_tuple(points, k); } int main() { cout << apply(solve_nn, read_input()) << endl; return 0; }