Cho dãy số gồm \(N\) số nguyên dương \(a_{1},a_{2},a_{3},\ldots a_{N}\), và số nguyên dương \(K\). Hãy đếm số đoạn \(\lbrack i..j\rbrack\ \) (đảm bảo có ít nhất một phần tử), gồm các phần tử liên tiếp mà có tổng chia hết cho \(K\), tức là \((a_{i} + a_{i + 1} + \ldots + a_{j}) \vdots K.\) Nếu không có đoạn nào có tổng chia hết cho \(K\) thì in ra số 0.
Dữ liệu:
+ Dòng đầu là số \(N\) và số \(K\) \((1 \leq K \leq N \leq 10^{6})\).
+ Dòng tiếp theo chứa \(N\) số nguyên \(a_{1},a_{2},a_{3},\ldots a_{N}\), các số không quá \(10^{3}.\)
Kết quả:
+ Kết quả của bài toán.
Ví dụ 1:
Input | Output | Giải thích |
---|---|---|
5 2 1 2 3 4 5 | 6 | Có 6 đoạn các phần tử liên tiếp chia hết cho 2 là {1,2,3}, {2}, {1,2,3,4}, {4}, {2,3,4,5}, {3,4,5} |
Ví dụ 2:
Input | Output | Giải thích |
---|---|---|
1 4 3 | 0 | Không có đoạn chia hết cho 4. |
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |