#abc156f. [abc156_f]Modularness

[abc156_f]Modularness

题目描述

我们有一个包含 kk 个数字的序列:d0,d1,...,dk1d_0,d_1,...,d_{k - 1}

按顺序处理以下 qq 个查询:

  • ii 个查询包含三个整数 nin_i, xix_i, 和 mim_i。令 a0,a1,...,ani1a_0,a_1,...,a_{n_i - 1} 为包含 nin_i 个数字的序列:\[ \begin{aligned} a_j = \begin{cases} x_i & ( j = 0 ) \\ a_{j - 1} + d_{(j - 1)~\textrm{mod}~k} & ( 0 < j \leq n_i - 1 ) \end{cases} \end{aligned} \] 输出满足 $(a_j~\textrm{mod}~m_i) < (a_{j + 1}~\textrm{mod}~m_i)$ 的 j (0j<ni1)j~(0 \leq j < n_i - 1) 的数量。

这里 (y mod z)(y~\textrm{mod}~z) 表示整数 yy 除以 zz 的余数,其中 yyz (z>0)z~(z > 0) 是整数。

约束条件

  • 输入中的所有值都是整数。
  • 1k,q50001 \leq k, q \leq 5000
  • 0di1090 \leq d_i \leq 10^9
  • 2ni1092 \leq n_i \leq 10^9
  • 0xi1090 \leq x_i \leq 10^9
  • 2mi1092 \leq m_i \leq 10^9

输入

从标准输入读入输入数据,输入格式如下:

kk qq

d0d_0 d1d_1 ...... dk1d_{k - 1}

n1n_1 x1x_1 m1m_1

n2n_2 x2x_2 m2m_2

:

nqn_q xqx_q mqm_q

输出

输出 qq 行。

ii 行应包含对第 ii 个查询的响应。

示例输入 1

3 1
3 1 4
5 3 2

示例输出 1

1

对于第一个查询,序列 {aja_j} 将是 3,6,7,11,143,6,7,11,14

  • (a0 mod 2)>(a1 mod 2)(a_0~\textrm{mod}~2) > (a_1~\textrm{mod}~2)
  • (a1 mod 2)<(a2 mod 2)(a_1~\textrm{mod}~2) < (a_2~\textrm{mod}~2)
  • (a2 mod 2)=(a3 mod 2)(a_2~\textrm{mod}~2) = (a_3~\textrm{mod}~2)
  • (a3 mod 2)>(a4 mod 2)(a_3~\textrm{mod}~2) > (a_4~\textrm{mod}~2)

因此,该查询的响应应为 11

示例输入 2

7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12

示例输出 2

224489796
214285714
559523809