WibuRack

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Đột quỵ sau chuỗi ngày làm việc vắt kiệt sức lực tại một công ty công nghệ vì tăng ca quá nhiều, Phan_Gia_Huy bất ngờ mở mắt ra và phát hiện mình đã chuyển sinh đến lục địa ma thuật Arcadia. Bằng việc sử dụng kỹ năng Độc hữu [Thẩm Định Tuyệt Đối] không biết đến từ đâu, cậu nhanh chóng leo lên vị trí Hội trưởng Hội Mạo Hiểm Giả cấp S duy nhất của vương quốc.

Hôm nay, một Hầm ngục cấp Thần thoại vừa xuất hiện tại Vực thẳm Không đáy. Phan_Gia_Huy quyết định sẽ đích thân dẫn dắt một đội viễn chinh để chinh phục hầm ngục này. Sau khi phát lệnh triệu tập, có tổng cộng \(N\) mạo hiểm giả từ khắp nơi đổ về đăng ký tham gia. Nhờ kỹ năng [Thẩm Định], Phan_Gia_Huy lập tức nhìn thấu hai chỉ số quan trọng của từng người:

  • Điểm Chiến Lực (\(P_i\)): Thể hiện lượng ma năng và sức mạnh vật lý tổng hợp của mạo hiểm giả thứ \(i\).
  • Mã Chức Nghiệp (\(S_i\)): Thể hiện vai trò chiến đấu của người đó (ví dụ: Kiếm sĩ, Pháp sư, Trị liệu sư, Đạo tặc... được hệ thống mã hóa thành các số nguyên dương).

Tuy nhiên, thế giới Isekai không đơn giản là cứ gom những kẻ mạnh nhất vào một đội là sẽ chiến thắng. Dựa trên kinh nghiệm cày game như nghiện ở kiếp trước, Phan_Gia_Huy hiểu rằng một tổ đội hoàn hảo phải tuân thủ nghiêm ngặt hai quy tắc sinh tồn sau:

  1. Cộng hưởng cấp độ: Các thành viên trong đội không được có khoảng cách sức mạnh quá lớn để tránh tình trạng người yếu hơn bị vướng vào ma pháp diện rộng của đồng đội. Cụ thể, chênh lệch chiến lực giữa mạo hiểm giả mạnh nhất và yếu nhất trong đội tuyệt đối không được vượt quá \(K\).
  2. Cân bằng tổ đội: Để đối phó với các cơ chế phức tạp của quái vật Hầm ngục, đội hình không được phép trùng lặp quá nhiều về mặt kỹ năng. Do đó, không một chức nghiệp nào được phép có nhiều hơn 2 người xuất hiện trong tổ đội cuối cùng.

Yêu cầu: Từ danh sách \(N\) mạo hiểm giả ban đầu, hãy tìm cách chọn ra một tổ đội có số lượng thành viên đông nhất sao cho chênh lệch Điểm Chiến Lực giữa người mạnh nhất và yếu nhất \(\le K\), đồng thời không có Mã Chức Nghiệp nào xuất hiện quá 2 lần. (Các thành viên được chọn không bắt buộc phải đứng liền kề nhau trong danh sách đăng ký).

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(N\)\(K\) (\(1 \le N \le 1000\); \(0 \le K \le 10^9\)).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(P_i\)\(S_i\) (\(1 \le P_i \le 10^9\); \(1 \le S_i \le 10^5\)) lần lượt là Điểm Chiến Lực và Mã Chức Nghiệp của mạo hiểm giả thứ \(i\).

Output

  • In ra thiết bị ra chuẩn một số nguyên duy nhất là số lượng thành viên tối đa của đội hình viễn chinh hợp lệ.

Example

Test 1

Input
6 4
10 1
11 2
12 1
13 1
14 2
15 2
Output
4
Note

Phan_Gia_Huy có thể chọn ra một tổ đội gồm 4 người có mức chiến lực lần lượt là: 11, 12, 13, 14.

  • Xét Quy tắc 1: Chiến lực cao nhất là 14, thấp nhất là 11. Chênh lệch: \(14 - 11 = 3 \le 4\) (Đạt yêu cầu cấp độ).
  • Xét Quy tắc 2: Tổ đội này bao gồm 2 người thuộc Chức nghiệp 1 (Chiến lực 12, 13) và 2 người thuộc Chức nghiệp 2 (Chiến lực 11, 14). Không có chức nghiệp nào vượt qua con số 2 (Đạt yêu cầu cân bằng tổ đội).

Không có bất kỳ tổ hợp 5 người nào thỏa mãn cùng lúc cả hai điều kiện trên. (Ví dụ: Nếu cố gắng chọn tổ đội có chiến lực từ 10 đến 14, chênh lệch chiến lực là \(14 - 10 = 4 \le 4\) vẫn thỏa mãn, nhưng Chức nghiệp 1 sẽ có đến 3 người tham gia, vi phạm nghiêm trọng Quy tắc 2). Do đó, đáp án tối ưu là 4.

Scoring

  • Subtask \(1\) (40% điểm): \(1 \le N \le 100\); \(0 \le K \le 10^9\)
  • Subtask \(2\) (30% điểm): \(1 \le N \le 500\); \(0 \le K \le 10^9\)
  • Subtask \(3\) (30% điểm): \(1 \le N \le 1000\); \(0 \le K \le 10^9\)

Bình luận (1)

Mới nhất
Tải bình luận...