HSG9 Hải Phòng 2026 - Bài 3

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho dãy ~n~ số nguyên ~a_1, a_2, ..., a_n~ và số nguyên dương ~M~. Hãy đếm số lượng cặp ~(i, j)~ với ~1 \le i < j \le n~ sao cho ~a_i + a_j~ chia hết cho ~M~.

Input

  • Dòng đầu chứa hai số nguyên dương ~n, M~ (~n \le 3 \times 10^5~; ~M \le 10^{18}~).
  • Dòng thứ hai chứa ~n~ số nguyên lần lượt là ~a_1, a_2, ..., a_n~ (~|a_i| \le 10^{18}~ ~\forall i = 1, 2, ..., n~). Hai số liên tiếp trên cùng một dòng cách nhau bằng khoảng trống (space).

Output

Ghi ra một số nguyên duy nhất là số cặp tìm được.

Sample Input 1

5 4
1 3 2 6 2

Sample Output 1

4

Giải thích: Các cặp ~(i, j)~ tìm được là ~(1, 2), (3, 4), (3, 5), (4, 5)~.

Subtasks

  • Có 40% số tests ứng với 40% số điểm của bài có ~n \le 5000~.
  • 20% số tests tiếp theo ứng với 20% số điểm của bài có ~M \le 10^6~.
  • Các tests còn lại không có ràng buộc bổ sung.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.