#ABC156F. 余数序列

余数序列

余数序列

题目描述

有长度为 kk 的数列 d0,d1,...,dk1d_0,d_1,...,d_{k - 1}

请依次处理以下 qq 个查询。

  • ii 个查询由 33 个整数 ni,xi,min_i,x_i,m_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)~\textrm{mod}~k} & ( 0 \lt j \leq n_i - 1 ) \end{cases}\end{aligned}$$

输出满足 $(a_j~\textrm{mod}~m_i) \lt (a_{j + 1}~\textrm{mod}~m_i)$ 的 j (0j<ni1)j~(0 \leq j \lt n_i - 1) 的个数。

这里,对于两个整数 y,z (z>0)y, z~(z \gt 0),(y mod z)(y~\textrm{mod}~z) 表示 yy 除以 zz 的余数。

输入格式

输入按以下格式从标准输入给出:

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 个查询的答案。

样例

3 1
3 1 4
5 3 2
1

对于第 11 个查询,问题中定义的数列 {aja_j} 为 3,6,7,11,143,6,7,11,14

  • (a0 mod 2)>(a1 mod 2)(a_0~\textrm{mod}~2) \gt (a_1~\textrm{mod}~2)
  • (a1 mod 2)<(a2 mod 2)(a_1~\textrm{mod}~2) \lt (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) \gt (a_4~\textrm{mod}~2)

因此该查询的答案是 11

7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12
224489796
214285714
559523809

数据范围

  • 输入均为整数
  • 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
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
1883
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签