#ATabc146e. [ABC146E] Rem of Sum is Num

[ABC146E] Rem of Sum is Num

AT_abc146_e [ABC146E] Rem of Sum is Num

题目描述

给定一个长度为 NN 的正整数序列 A1, A2, , ANA_1,\ A_2,\ \ldots,\ A_N 和一个正整数 KK

请你求出 AA 的所有非空连续子序列中,满足子序列元素之和除以 KK 的余数等于该子序列长度的子序列个数。注意,即使两个子序列的元素完全相同,只要它们在原序列中的位置不同,也要视为不同的子序列。

输入格式

输入以如下格式从标准输入中给出。

NN KK
A1A_1 A2A_2 \cdots ANA_N

输出格式

输出满足条件的子序列的个数。

样例 1

输入

5 4
1 4 2 3 5

输出

4

样例 2

输入

8 4
4 2 4 2 4 2 4 2

输出

7

样例 3

输入

10 7
14 15 92 65 35 89 79 32 38 46

输出

8

说明/提示

限制条件

  • 所有输入均为整数。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K1091 \leq K \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9

样例解释 1

满足条件的子序列有 (1)(1)(4,2)(4,2)(1,4,2)(1,4,2)(5)(5)44 个。

样例解释 2

(4,2)(4,2) 被计数了 44 次,(2,4)(2,4) 被计数了 33 次。

由 ChatGPT 4.1 翻译