atcoder#ARC129F. [ARC129F] Let's Play Tag
[ARC129F] Let's Play Tag
配点 : 点
問題文
数直線上に,すぬけくんと 人の子供が立っています.
時刻 の彼らの位置は以下のようなものです.
- すぬけくんは座標 にいる.
- 人の子供は座標が負の位置におり,このうち 番目の子供は座標 にいる.
- 人の子供は座標が正の位置におり,このうち 番目の子供は座標 にいる.
今から彼らは鬼ごっこを開始します. 具体的には,彼らは以下の行動をします.
- すぬけくんは最初に, 個の
L
と 個のR
からなる文字列 を一つ選ぶ. その後,各 について以下の操作を行う.- の 文字目が
L
なら,座標が負の方向へ速度 で移動を開始する. - の 文字目が
R
なら,座標が正の方向へ速度 で移動を開始する. - 子供を一人捕まえた(座標が一致した)時点で,次の での操作に移る. なお, の場合は鬼ごっこが終了となる.
- の 文字目が
- の 文字目が
L
なら,座標が負の方向へ速度 で移動を開始する. - の 文字目が
R
なら,座標が正の方向へ速度 で移動を開始する. - 子供を一人捕まえた(座標が一致した)時点で,次の での操作に移る. なお, の場合は鬼ごっこが終了となる.
- すべての子供は,すぬけくんから遠ざかる方向へ常に速度 で移動し続ける.
すぬけくんが最初に選ぶことができる文字列 全てについて鬼ごっこが終了する時刻を求めたときの,それらの値の総和を で割った余りを求めてください.
制約
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
出力
答えを出力せよ.
3 3
1 2 3
1 2 3
2748
例えば,LRRLLR
の場合は,以下のようにゲームが進行します.
- 時刻 : すぬけくんが負の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえた後,正の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえた後,正の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえた後,負の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえた後,負の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえたあと,正の方向へ移動を開始する.
- 時刻 : すぬけくんが座標 で子供を捕まえ,鬼ごっこが終了する.
7 5
89789743 196247866 205535557 542612813 782887985 889864096 899373580
539329402 618885430 714090971 717251433 860233092
937403116