Đếm dãy chia hết (Thi thử cụm thi Cửa Lò 2021)

View as PDF

Submit solution

Points: 50.00
Time limit: 1.0s
Memory limit: 640M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, Sed, Text

Cho một dãy số nguyên dương, yêu cầu hãy đếm số lượng dãy con liên tiếp có tổng chia hết cho d. Hai dãy con được gọi là khác nhau nếu ít nhất một trong hai điểm đầu hoặc điểm cuối hai dãy con đó trong dãy đã cho là khác nhau. Ví dụ với d = 4, dãy: (2, 1, 2, 1, 4, 1) có 4 dãy con thỏa mãn là (1,2,1), (1,2,1,4), (4), (2,1,4,1). Với d = 2 và dãy: (1, 1, 1, 1) thì có 4 dãy con thỏa mãn.

Dữ liệu vào gồm 2 dòng:

  • Dòng đầu là 2 số nguyên dương ~d~ và ~N (d ≤ 10^6, N ≤ 10^5)~

  • Dòng thứ 2 chứa ~N~ số nguyên dương biểu diễn dãy số, các số trong dãy không quá ~10^9~

Kết quả:

  • Ghi ra 1 số duy nhất là kết quả tìm được.

Ví dụ:

INPUT OUTPUT
~4\ 6~
~2\ 1\ 2\ 1\ 4\ 1~
~4~

Ràng buộc:

  • Có 1/3 số test tương ứng với 1/3 số điểm có ~N ≤ 10^3~
  • Có 2/3 số test tương ứng với 2/3 số điểm có ~10^3 < N ≤ 10^5~

Loading...