atcoder#ABC207E. [ABC207E] Mod i

[ABC207E] Mod i

题目描述

長さ N N の数列 A A が与えられます。A A をいくつかの連続した空でない部分列 B1,B2,,Bk B_1,B_2,\ldots,B_k に切り分ける方法であって、以下の条件を満たすものの個数を求めてください。

  • 全ての i (1  i  k) i\ (1\ \leq\ i\ \leq\ k) について、Bi B_i に含まれる要素の総和が i i で割り切れる。

答えは非常に大きくなることがあるので、(109+7) (10^9+7) で割ったあまりを出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N A1 A_1 A2 A_2 \ldots AN A_N

输出格式

問題文中の条件を満たすような切り分け方の個数を (109+7) (10^9+7) で割ったあまりを出力せよ。

题目大意

题目描述

给定一个长度为 mm 的序列。

将其分成若干段,使得第 ii 段的所有数之和为 ii 的倍数。

试求方案数 mod(109+7)\bmod (10^9 + 7) 的值。

4
1 2 3 4
3
5
8 6 3 3 3
5
10
791754273866483 706434917156797 714489398264550 918142301070506 559125109706263 694445720452148 648739025948445 869006293795825 718343486637033 934236559762733
15

提示

制約

  • 1  N  3000 1\ \leq\ N\ \leq\ 3000
  • 1  Ai  1015 1\ \leq\ A_i\ \leq\ 10^{15}
  • 入力は全て整数

Sample Explanation 1

以下の 3 3 通りの切り分け方があります。 - (1),(2),(3),(4) (1),(2),(3),(4) - (1,2,3),(4) (1,2,3),(4) - (1,2,3,4) (1,2,3,4)

Sample Explanation 3

入力が 32 32 bit 整数型に収まりきらない場合があります。