Dãy con tổng chia hết cho K

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: chiak.inp
Output: chiak.out

Ngôn ngữ cho phép
C++, PyPy, Python

Cho số nguyên dương ~n~ và dãy số ~a~ gồm ~n~ số nguyên ~a_1, a_2, ..., a_n~.

Một dãy con liên tiếp của dãy số ~a~ có dạng ~a_i, a_{i+1}, …, a_j~ với ~1 \leq i \leq j \leq n~.
Tổng của dãy con liên tiếp đó là:

~a_i + a_{i+1} + … + a_j~.

Em hãy đếm số lượng dãy con liên tiếp của dãy số ~a~ đã cho mà tổng các phần tử chia hết cho số nguyên dương k.


Input (CHIAK.INP)

  • Dòng 1: ghi 2 số nguyên dương ~n, k~ (~n \leq 10^6, k \leq 10^9~).
  • Dòng 2: ghi lần lượt các số nguyên ~a_1, a_2, …, a_n~ (~|a_i| \leq 10^9~).
  • Các số trên cùng một dòng cách nhau ít nhất một khoảng trống.

Output (CHIAK.OUT)

  • Ghi ra một số duy nhất là số lượng dãy con liên tiếp có tổng chia hết cho ~k~.

Sample

CHIAK.INP

5 3
2 -6 1 9 -3

CHIAK.OUT

7

Ràng buộc

  • 50% số test: ~n \leq 10^3~.
  • 50% số test: ~n > 10^3~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.