No.2273 一点乗除区間積
タグ : / 解いたユーザー数 12
作問者 : 👑
注意
この問題の実行時間制限は5000[ms]です。
問題文
入力に 個の正整数 と、長さ の非負整数列 と 個のクエリ(後述) が与えられます。
まずは記法の導入です。非負整数列 とその長さ未満の非負整数 に対し、 で の 個目の成分を表します。
更に を満たす の長さ未満の 個の非負整数 に対し、
を と置きます。
また非負整数 に対し、非負整数 を以下のように定めます:
- が の倍数でありかつ ならば、 である。
- そうでないならば、 である。
それでは本題に移ります。各クエリは、 と を満たす 個の非負整数 の組 です。
クエリ は以下のように処理します:
- まず の 個目の成分の値を から に置き換えることで を更新する。
- 次に更新された に対する を求める。(以下この値を、そのクエリへの回答と呼ぶ)
個のクエリを与えられた順に全て処理してください。
入力
入力は以下の形式で標準入力から与えられます:
- 行目に が半角空白区切り与えられます。
- 行目に の各成分が半角空白区切りで与えられます。
- 以下の各正整数 に対し、 行目に 個目のクエリ の各成分が半角空白区切りで与えられます。
制約
入力は以下の制約を満たします:
- は を満たす整数
- は を満たす整数
- は を満たす整数
- 未満の任意の非負整数 に対し、 は を満たす整数
- 全てのクエリ が以下を満たす:
- は を満たす整数
- は を満たす整数
- と は を満たす整数
出力
以下の各正整数 に対し、 行目に 個目のクエリへの回答を出力してください。
最後に改行してください。
サンプル
サンプル1
入力
1 2 1 1 0 3 0 0
出力
1
クエリ を処理します。 が
に更新され、更新後の に対し
となるので、このクエリへの回答は です。今回は であるので、これで全ての処理が終了します。
サンプル2
入力
2 3 1 1 2 0 2 0 1
出力
1
クエリ を処理します。 が
に更新され、更新後の に対し
となるので、このクエリへの回答は です。今回は であるので、これで全ての処理が終了します。
サンプル3
入力
2 3 2 6 2 1 2 0 1 0 3 0 0
出力
0 2
まず 個目のクエリ を処理します。 が
に更新され、更新後の に対し
となるので、このクエリへの回答は です。
引き続き 個目のクエリ を処理します。 が
に更新され、更新後の に対し
となるので、このクエリへの回答は です。今回は であるので、これで全ての処理が終了します。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。