#abc156f. F - Modularness

F - Modularness

Score : 600600 points

问题描述

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

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

  • ii 个查询包含三个整数 nin_i, xix_imim_i。令由 nin_i 个数构成的序列 a0,a1,...,ani1a_0,a_1,...,a_{n_i - 1} 如下所示:[ \begin{aligned} a_j = \begin{cases} x_i & ( j = 0 ) \ a_{j - 1} + d_{(j - 1)~\text{mod}~k} & ( 0 < j \leq n_i - 1 ) \end{cases}\end{aligned} ] 输出满足条件 (aj mod mi)<(aj+1 mod mi)(a_j~\text{mod}~m_i) < (a_{j + 1}~\text{mod}~m_i) 的所有 jj 的数量,其中 0j<ni10 \leq j < n_i - 1

这里 (y mod z)(y~\text{mod}~z) 表示两个整数 yyz (z>0)z~(z > 0)yy 除以 zz 后的余数。

以上为通义千问 qwen-max 翻译,仅供参考。

Problem Statement

We have a sequence of kk numbers: d0,d1,...,dk1d_0,d_1,...,d_{k - 1}.

Process the following qq queries in order:

  • The ii-th query contains three integers nin_i, xix_i, and mim_i. Let a0,a1,...,ani1a_0,a_1,...,a_{n_i - 1} be the following sequence of nin_i numbers: [ \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} ] Print the number of j (0j<ni1)j~(0 \leq j < n_i - 1) such that $(a_j~\textrm{mod}~m_i) < (a_{j + 1}~\textrm{mod}~m_i)$.

Here (y mod z)(y~\textrm{mod}~z) denotes the remainder of yy divided by zz, for two integers yy and z (z>0)z~(z > 0).

Constraints

  • All values in input are integers.
  • 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

Input

Input is given from Standard Input in the following format:

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

Output

Print qq lines.

The ii-th line should contain the response to the ii-th query.

Sample Input 1

3 1
3 1 4
5 3 2

Sample Output 1

1

For the first query, the sequence {aja_j} will be 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)

Thus, the response to this query should be 11.

Sample Input 2

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

Sample Output 2

224489796
214285714
559523809

update @ 2024/3/10 17:16:32