Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập gopchiahetk

Gộp để chia hết cho K

Dễ Tham lamSố học

  • 100 Điểm
  • 1.0s Thời gian
  • 500M Bộ nhớ
  • 100% Tỉ lệ AC
  • 1 Số AC

Cho dãy gồm \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\) và một số nguyên \(K\). Một thao tác gộp chọn hai phần tử bất kỳ của dãy, xoá cả hai và thay bằng một phần tử mới có giá trị bằng tổng của chúng (vị trí đặt phần tử mới không quan trọng).

Sau khi thực hiện một số lượng tuỳ ý các thao tác gộp (có thể không thực hiện thao tác nào), hãy tìm số lượng lớn nhất các phần tử của dãy chia hết cho \(K\).

Input

  • Dòng đầu chứa hai số nguyên \(N\) và \(K\).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, \dots, A_N\).

Output

  • Một số nguyên duy nhất: số phần tử chia hết cho \(K\) nhiều nhất có thể đạt được.

Constraints

  • \(1 \le N \le 10^5\)
  • \(K \in \{4, 5\}\)
  • \(1 \le A_i < 10^6\)

Phân bố điểm:

  • \(30\%\) số test: \(N \le 10^3\), \(K = 4\).
  • \(30\%\) số test: \(N \le 10^3\), \(K = 5\).
  • \(40\%\) số test: \(N \le 10^5\), \(K = 4\) hoặc \(K = 5\).

Sample Input

7 4
5 6 7 9 2 3 10

Sample Output

3

Explanation

Số dư khi chia cho \(4\) lần lượt là \(1, 2, 3, 1, 2, 3, 2\). Gộp \(5+7=12\), \(9+3=12\), \(6+2=8\); dãy còn \(12, 12, 8, 10\) có \(3\) phần tử chia hết cho \(4\). Không thể đạt \(4\).

Bình luận

Chưa có bình luận nào.