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