AT_abc473_e [ABC473E] K-Divisible Subarrays

题目描述

给定一个长度为 $N$ 的非负整数序列 $A=(A_1,A_2,\ldots,A_N)$。 定义长度为 $1$ 或更长的非负整数序列 $S=(S_1,S_2,\ldots,S_k)$ 的**得分**为:$k$ 个序列中,元素之和能够被 $K$ 整除的序列 $S_i\ (1\leq i\leq k)$ 的个数。 请将序列 $A$ 按照顺序分割成一个或多个连续子序列,求能够获得的最大得分。这里,将长度为 $N$ 的序列 $A$ 分割成一个或多个连续子序列,指选择一个整数序列 $l=(l_1,l_2,\ldots,l_k)\ (1=l_1

输入格式

输入为标准输入,格式如下: > $N\ K\ A_1\ A_2\ \ldots\ A_N$

输出格式

输出答案。

说明/提示

### 样例解释 1 例如,可以将 $A$ 分割为四个连续的子序列 $(6)$、$(8,2)$、$(2)$、$(6,4)$。第二个和第四个子序列的元素之和是 $10$ 的倍数,因此序列 $((6),(8,2),(2),(6,4))$ 的得分为 $2$。 无法分割 $A$ 使得得分大于等于 $3$,因此输出 `2`。 ### 约束条件 - $1\leq N\leq 2\times 10^{5}$ - $1\leq K\leq 10^{9}$ - $0\leq A_i