Bài 2. đếm cặp (HSG 9 Ninh Bình 2024-2025)

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Awk, C, C++, Clang, Pypy, Pypy 3, Python
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 977M Input: bàn phím Output: màn hình

Cho dãy số gồm \(n\) số nguyên \(a_1, a_2, a_3,\ldots, a_n\) và một số nguyên dương \(k\). Số nguyên \(a_i, a_j\) là số nguyên lần lượt ở các vị trí thứ \(i\) và thứ \(j\).

Yêu cầu: Hãy cho biết có bao nhiêu cách chọn các cặp số \(i\)\(j\) thỏa mãn: \(i < j\)\(a_i + a_j\) chia hết cho \(k\).

Input

  • Dòng đầu: Gồm 2 số nguyên dương \(n, k\) \((1 < n, k < 10^6)\), mỗi số cách nhau một khoảng trắng.
  • Dòng thứ hai: Dãy số nguyên \(a_1, a_2, a_3,\ldots, a_n\) \((|a_i| < 10^9; 1 \leq i \leq n)\), mỗi số cách nhau một khoảng trắng.

Output

  • Một số nguyên duy nhất là số cặp số thỏa mãn yêu cầu.

Example

Test 1

Input
4 6
2 4 8 -8
Output
4
Note

Có 4 cặp \((i, j)\) thỏa mãn là: \((1, 2), (1, 4), (2, 3), (3, 4)\)

Scoring

  • \(60\%\) số test ứng với \(60\%\) số điểm có \(n < 10^3\)
  • \(40\%\) số test ứng với \(40\%\) số điểm không giới hạn gì thêm

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.