atcoder#AGC013C. [AGC013C] Ants on a Circle
[AGC013C] Ants on a Circle
题目描述
周の長さ の円があります。 この円の周上には座標が設定されていて、座標の値は、ある基準点からどれだけ時計回りに進んだかを表しています。
この円周上に 匹の蟻がいます。 蟻には、座標の小さいものから順に、 から までの番号がついています。 番目の蟻は座標 にいます。
これから、 匹の蟻は一斉に動き出します。 匹目の蟻は、 が なら時計回りに、 が なら反時計回りに動き始めます。 全ての蟻の移動速度は常に、 秒間にちょうど の距離を進む速さです。 蟻が動いていくと、二つの蟻がぶつかることがあります。 その時はどちらの蟻も、ぶつかった瞬間に進む向きを反転して動き続けます。
蟻が動き始めてから 秒後にそれぞれの蟻がいる位置を求めて下さい。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
出力は 行からなる。 出力の 行目には、 番目の蟻が 秒後にいる位置の座標を出力せよ。 なお、座標の値は 以上 未満の値として出力せよ。
题目大意
有一个长度为 的圆环,上面有 个蚂蚁,位置分别为 ,运动方向为 , 表示顺时针, 表示逆时针。
每只蚂蚁将会同时开始以单位速度运动,如果两只蚂蚁相遇, 那么它们会改变自己的方向继续运动。
求 秒之后每只蚂蚁的位置。
3 8 3
0 1
3 2
6 1
1
3
0
4 20 9
7 2
9 1
12 1
18 1
7
18
18
1
提示
制約
- 入力は全て整数である
- $ 0\ \leq\ X_1\ <\ X_2\ <\ ...\ <\ X_N\ \leq\ L\ -\ 1 $
Sample Explanation 1
蟻が動き始めてから 秒後、蟻 と 蟻 が、座標 の位置でぶつかります。 その 秒後、蟻 と蟻 が、座標 の位置ぶつかります。 その 秒後、つまり蟻が動き始めてから 秒後には、 蟻 、 、 はそれぞれ座標 、 、 にいます。