测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7555. [ABC146E] Rem of Sum is Num

编程题 普及+/提高
知识点

题目描述

给定一个长度为 $N$ 的正整数序列 $A_1,\ A_2,\ \ldots,\ A_N$ 和一个正整数 $K$。

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

输入格式

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

> $N$ $K$
> $A_1$ $A_2$ $\cdots$ $A_N$

输出格式

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

输入输出样例

输入 #1
5 4
1 4 2 3 5
输出 #1
4
输入 #2
8 4
4 2 4 2 4 2 4 2
输出 #2
7
输入 #3
10 7
14 15 92 65 35 89 79 32 38 46
输出 #3
8

说明/提示

## 限制条件

- 所有输入均为整数。
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq K \leq 10^9$
- $1 \leq A_i \leq 10^9$

## 样例解释 1

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

## 样例解释 2

$(4,2)$ 被计数了 $4$ 次,$(2,4)$ 被计数了 $3$ 次。
上一题 去做题 下一题