[Hải Phòng 25-26] Đếm cặp chia hết
Cho dãy n số nguyên a1, a2, ..., an và số nguyên dương M. Hãy đếm số lượng cặp (i, j) với 1 <= i < j <= n sao cho tổng (ai + aj) chia hết cho M.
Dữ liệu:
Nhập từ bàn phím
- Dòng đầu chứa hai số nguyên dương n, M (n <= 3*10^5; M <= 10^18)
- Dòng thứ hai chứa n số nguyên lần lượt là a1, a2, ..., an (|ai| <= 10^18 với mọi 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).
Kết quả:
Ghi ra màn hình một số nguyên duy nhất là số cặp tìm được.
Ràng buộc:
- Có 40% số tests ứng với 40% số điểm của bài có n <= 5000
- 20% số tests tiếp theo ứng với 20% số điểm của bài có M <= 10^6
- Các tests còn lại không có ràng buộc bổ sung
Ví dụ:
Dữ liệu: 5 4 1 3 2 6 2 Kết quả: 4
Giải thích: Các cặp (i, j) tìm được là (1,2), (3,4), (3,5), (4,5) tương ứng với các tổng: 1+3=4; 2+6=8; 2+2=4; 6+2=8 đều chia hết cho 4.
Comments