#agc013c. [agc013_c]Ants on a Circle

[agc013_c]Ants on a Circle

题目描述

有一个周长为 LL 的圆。周长上的每个点都有一个坐标值,表示从某个参考点顺时针到达该点的弧长。在这个周长上,有 NN 只蚂蚁。这些蚂蚁按照坐标的增加顺序从 11NN 编号,第 ii 只蚂蚁的坐标为 XiX_i

NN 只蚂蚁刚开始行走。对于每只蚂蚁 ii,你会给出初始方向 WiW_i。如果 WiW_i11,表示第 ii 只蚂蚁初始时顺时针行走;如果 WiW_i22,表示第 ii 只蚂蚁初始时逆时针行走。每只蚂蚁的行走速度为每秒 11 单位长度。有时,两只蚂蚁会相撞。相撞的两只蚂蚁会转身,并开始朝相反的方向行走。

对于每只蚂蚁,找到它在经过 TT 秒后的位置。

约束条件

  • 所有输入值均为整数。
  • 1N1051 \leq N \leq 10^5
  • 1L1091 \leq L \leq 10^9
  • 1T1091 \leq T \leq 10^9
  • 0X1<X2<...<XNL10 \leq X_1 < X_2 < ... < X_N \leq L - 1
  • 1Wi21 \leq W_i \leq 2

输入

从标准输入读入输入数据,具体格式如下:

NN LL TT X1X_1 W1W_1 X2X_2 W2W_2 :: XNX_N WNW_N

输出

按照以下格式打印 NN 行,第 ii 行应当包含在 TT 秒后第 ii 只蚂蚁的坐标。这里,每个坐标必须介于 00L1L-1 之间,包括边界。

示例输入 1

3 8 3
0 1
3 2
6 1

示例输出 1

1
3
0

蚂蚁开始行走 1.51.5 秒后,蚂蚁 11 和蚂蚁 22 在坐标 1.51.5 相撞。再过 11 秒,蚂蚁 11 和蚂蚁 33 在坐标 0.50.5 相撞。再过 0.50.5 秒,即蚂蚁开始行走 33 秒后,蚂蚁 1122 和蚂蚁 33 的坐标分别为 113300

示例输入 2

4 20 9
7 2
9 1
12 1
18 1

示例输出 2

7
18
18
1