Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 3 · Lập trình

Bài 3

Điểm
6 điểm
Bộ nhớ
1024 MB
Tên chương trình
CBAI3.CPP / CBAI3.PY
Vào / Ra
bàn phím → màn hình

Đề bài

Cho dãy số nn số nguyên a1,a2,…,ana_1, a_2, \ldots, a_n và số nguyên dương M\boldsymbol{M}. Hãy đếm số lượng cặp (i,j)(i, j) với 1≤i<j≤n1 \le i < j \le n sao cho ai+aja_i + a_j chia hết cho M\boldsymbol{M}.

Dữ liệu vào

Nhập từ bàn phím

  • Dòng đầu chứa hai số nguyên dương n,Mn, M (n≤3×105;M≤1018)(n \le 3 \times 10^5; M \le 10^{18}).
  • Dòng thứ hai chứa nn số nguyên lần lượt là a1,a2,…,ana_1, a_2, \ldots, a_n (∣ai∣≤1018 ∀i=1,2,…,n)(|a_i| \le 10^{18}\ \forall i = 1, 2, \ldots, 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ả ra

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

Ví dụ

Dữ liệu vào
5 4
1 3 2 6 2
Kết quả ra
4

Giải thích

Các cặp (i,j)(i, j) tìm được là (1, 2), (3, 4), (3, 5), (4, 5).

Thuộc đề thi

Kỳ thi chọn học sinh giỏi thành phố cấp THCS năm học 2025-2026 — Môn thi: Tin học

Hải Phòng · Cấp thành phố · Năm học 2025-2026