Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập daycontongchiahaiduong24

Dãy con có tổng chia hết

Dễ Số học

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Cho dãy số nguyên dương \(a_1, a_2, \ldots, a_n\) và một số nguyên dương \(K\). Hãy đếm xem có bao nhiêu dãy con \(a_i, a_{i+1}, \ldots, a_j\) (\(1 \le i \le j \le n\)) khác nhau có tổng \(a_i + a_{i+1} + \cdots + a_j\) chia hết cho \(K\). Hai dãy con \(a_{i_1}, a_{i_1+1}, \ldots, a_{j_1}\) và \(a_{i_2}, a_{i_2+1}, \ldots, a_{j_2}\) được gọi là khác nhau nếu \(i_1 \ne i_2\) hoặc \(j_1 \ne j_2\).

Input

Đọc từ bàn phím:

  • Dòng đầu chứa hai số nguyên dương \(n, K\) (\(n \le 10^5\); \(1 \le K \le 10^9\)) cách nhau một dấu trống.

  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^9\), \(\forall i = 1, 2, \ldots, n\)) cách nhau bằng dấu trống.

Ràng buộc:

  • Có \(1\) test thỏa mãn \(n \le 100\).

  • Có \(2\) test thỏa mãn \(n \le 5000\).

  • Có \(2\) test tiếp theo thỏa mãn \(10^3 < n \le 10^5\); \(K \le 10^6\).

  • \(1\) test còn lại không có ràng buộc bổ sung.

Output

Ghi ra màn hình duy nhất một số nguyên là số lượng dãy con tìm được.

Example

Input:

6 2
2 1 2 2 1 3

Output:

9

Note

Tổng tiền tố theo modulo \(2\) là \(P_0, \ldots, P_6 = 0, 0, 1, 1, 1, 0, 1\). Giá trị \(0\) xuất hiện ở các chỉ số \(0, 1, 5\) (tạo \(3\) cặp) và giá trị \(1\) xuất hiện ở các chỉ số \(2, 3, 4, 6\) (tạo \(6\) cặp), tổng cộng \(9\) dãy con có tổng chẵn: \([2]\), \([1,2,2,1]\), \([2,1,2,2,1]\), \([2]\), \([2,2]\), \([2,2,1,3]\), \([2]\), \([2,1,3]\) và \([1,3]\).

Bình luận

Chưa có bình luận nào.