Dãy con liên tiếp có tổng chia hết cho K (Câu 3 đề thi HSG 11 tỉnh Bắc Giang năm 2022-2023)


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

Cho số nguyên dương \(n\) và dãy \(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\) 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 có tổng các phần tử của dãy con này chia hết cho số nguyên dương \(k\).

Dữ liệu vào:

  • Dòng 1: hai số nguyên dương \(n, k\) \((n \le 10^6, k \le 10^9)\) cách nhau một khoảng trống.
  • Dòng 2: ghi \(n\) số nguyên \(a_1, a_2, ..., a_n\) \((|a_i| \le 10^9, i = 1...n)\) là giá trị của các phần tử của dãy ban đầu.

Dữ liệu ra:

  • Ghi ra một số nguyên duy nhất là số lượng dãy con có tổng các phần tử chia hết cho \(k\).

Ví dụ:

INPUT OUTPUT
\(5\) \(3\)
\(2\) \(-6\) \(1\) \(9\) \(-3\)
\(7\)

Giới hạn:

  • Subtask 1: Có 5/25 test ứng với 1 điểm \(n \le 10^2\)
  • Subtask 2: Có 5/25 test ứng với 1 điểm \(n \le 10^3\)
  • Subtask 3: Có 5/25 test ứng với 1 điểm \(n \le 10^6\)

Comments

There are no comments at the moment.