K đội cân bằng
Đề bài
Mô tả
Có học sinh, học sinh thứ có trình độ lập trình là .
Bạn cần lập các đội để tham gia một kỳ thi lập trình. Bạn được lập không quá đội (và ít nhất một đội), mỗi đội không rỗng, sao cho tổng số học sinh trong các đội là lớn nhất.
Mỗi đội phải cân bằng: trình độ của hai học sinh bất kỳ trong cùng một đội chênh lệch nhau không quá . Các đội độc lập với nhau (chênh lệch trình độ giữa hai học sinh ở hai đội khác nhau không quan trọng).
Một số học sinh có thể không được xếp vào đội nào.
Hãy in ra tổng số học sinh lớn nhất có thể có trong không quá (và ít nhất một) đội cân bằng, không rỗng.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và , số học sinh và số đội tối đa.
- Dòng thứ hai chứa số nguyên , trình độ của các học sinh.
Dữ liệu ra
In ra một số nguyên: tổng số học sinh lớn nhất có thể.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 1 2 15 15 15 |
5 | Đội 1 gồm hai học sinh trình độ 1 và 2 (chênh 1). Đội 2 gồm ba học sinh trình độ 15. Cả 5 học sinh đều được xếp đội. |
| 6 1 36 4 1 25 9 16 |
2 | Chỉ được lập 1 đội. Cặp có chênh lệch không quá 5 và cho nhiều học sinh nhất là {1, 4}, gồm 2 học sinh. |
| 4 4 1 10 100 1000 |
4 | Có tới 4 đội, mỗi học sinh tự thành một đội riêng nên xếp được cả 4. |
Bình luận