Trò chơi đối kháng

View as PDF



Problem type
Points: 10 (p) Time limit: 1.0s Memory limit: 100M Input: stdin Output: stdout

Tham dự Đại hội thể thao quốc tế, có n người tham gia, được đánh số hiệu từ 1 đến n, biết \(a_{i}\)\(a_i\) là độ thân thiện của người thứ i (1 \(\leq\) i \(\leq\) n) Trong buổi giao lưu với nhau, Ban tổ chức lên kế hoạch tổ chức một trò chơi. Trò chơi cần nhiều người tham gia. Biết rằng nếu hai người cùng tham gia trò chơi mà có tổng độ thân thiện của hai người đó chia hết cho k thì sẽ đối kháng nhau.

Yêu cầu:

Hãy giúp ban tổ chức chọn nhiều người tham gia trò chơi nhất sao cho hai người bất kì tham gia trò chơi thì tổng độ thân thiện của họ không chia hết cho k.

Dữ liệu vào:

  • Dòng thứ nhất chứa hai số nguyên dương n và k ( 1 \(\leq\) n \(\leq\) \(10^5\) ,1 \(\leq\) k \(\leq\) 100 ) ;
  • Dòng thứ hai chứa n số nguyên dương \(a_{1}\), \(a_{2}\) ,...,\(a_n\) với \(a_{i}\) là độ thân thiện của người thứ i (1 \(\leq\) \(a_{i}\) \(\leq\) \(10^9\), 1 \(\leq\) i <\(\leq\) n). Các số \(a_{1}\), \(a_{2}\) ,...,\(a_n\) đều phân biệt. Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.

Kết quả ghi ra có cấu trúc:

Ghi một số duy nhất là số lượng người được chọn nhiều nhất tham gia trò chơi sao cho tổng độ thân thiện của hai người bất kỳ được chọn không chia hết cho k.

Ví dụ
Input
4 5
5 2 6 3
Output
3
Giải thích:
Chọn 3 người có độ thân thiện lần lượt là: 5, 2, 6 thỏa mãn yêu cầu bài toán.

Ràng buộc:

  • Subtask 1: 70% số điểm với n \(\leq\) \(10^3\)
  • Subtask 2: 30% số điểm với n < \(10^5\)

Comments

There are no comments at the moment.