AT_abc156_f [ABC156F] Modularness
题目描述
有一个长度为 k 的数列 d0,d1,…,dk−1。
请依次处理以下 q 个查询。
- 第 i 个查询包含三个整数 ni,xi,mi。定义长度为 ni 的数列 a0,a1,…,ani−1,其递推关系如下:
$$\begin{aligned}
a_j = \begin{cases}
x_i & (j = 0) \\
a_{j-1} + d_{(j-1)\bmod k} & (0 < j \leq n_i - 1)
\end{cases}
\end{aligned}$$
请输出满足 (ajmodmi)<(aj+1modmi) 的 j 的个数,其中 0≤j<ni−1。
这里,对于两个整数 y,z (z>0),(ymodz) 表示 y 除以 z 的余数。
输入格式
输入按以下格式从标准输入读入。
k q d0 d1 … dk−1 n1 x1 m1 n2 x2 m2 … nq xq mq
输出格式
输出 q 行。
第 i 行输出第 i 个查询的答案。
输入输出样例 #1
输入 #1
3 1
3 1 4
5 3 2
输出 #1
1
输入输出样例 #2
输入 #2
7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12
输出 #2
224489796
214285714
559523809
说明/提示
限制条件
- 所有输入均为整数。
- 1≤k,q≤5000
- 0≤di≤109
- 2≤ni≤109
- 0≤xi≤109
- 2≤mi≤109
样例解释 1
对于第 1 个查询,按照题意构造的数列 {aj} 为 3,6,7,11,14。
- (a0mod2)>(a1mod2)
- (a1mod2)<(a2mod2)
- (a2mod2)=(a3mod2)
- (a3mod2)>(a4mod2)
因此,该查询的答案为 1。
由 ChatGPT 4.1 翻译