atcoder#ABC156F. [ABC156F] Modularness
[ABC156F] Modularness
配点 : 点
問題文
長さ の数列 があります。
以下のクエリ 個を順に処理してください。
- 番目のクエリは つの整数 からなる。 長さ の数列 を、 [ \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 \sim \textrm{mod} \sim m_i) < (a_{j + 1} \sim \textrm{mod} \sim m_i)$ であるような、 の個数を出力する。
ここで つの整数 について、 は を で割った余りを表します。
制約
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。
行目には、 番目のクエリに対する答えを出力せよ。
3 1
3 1 4
5 3 2
1
つ目のクエリについて、問題文で示した数列 {} は になります。
- $(a_0 \sim \textrm{mod} \sim 2) > (a_1 \sim \textrm{mod} \sim 2)$
- $(a_1 \sim \textrm{mod} \sim 2) < (a_2 \sim \textrm{mod} \sim 2)$
- $(a_2 \sim \textrm{mod} \sim 2) = (a_3 \sim \textrm{mod} \sim 2)$
- $(a_3 \sim \textrm{mod} \sim 2) > (a_4 \sim \textrm{mod} \sim 2)$
であるため、このクエリに対する答えは です。
7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12
224489796
214285714
559523809