#SLT05B. 2026年S组模拟赛10连测第5场-T2 环形接力

2026年S组模拟赛10连测第5场-T2 环形接力

项目 内容
输入文件名 baton.in
输出文件名 baton.out
可执行文件名 baton
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

市田径队使用一条环形跑道进行耐力训练。跑道周长为 CC,沿逆时针方向在跑道上标出位置坐标 0∼C−10 \sim C-1。训练开始时,nn 名运动员站在跑道上,运动员按 1∼n1 \sim n 编号,第 ii 名运动员的初始位置为 xix_i,初始位置两两不同;第 ii 名运动员的跑动方向为 sis_i(si=1s_i = 1 表示逆时针,si=−1s_i = -1 表示顺时针)。所有运动员的速度均为每秒 11 个单位,且全程不变速、不回头。

按队里的登记办法,每名运动员手持一张写有自己编号的号码布,即训练开始时运动员 ii 持有号码布 ii。由于跑道较窄,任意两名运动员相遇时,两人交换手中持有的号码布(交换瞬间完成,不占用时间),随后各自继续按原方向前进。训练记录员需要据此推算号码布的流转情况。

训练在第 TT 秒(TT 为整数)准点结束。请确定结束时刻每名运动员手中持有的是几号号码布,按运动员编号顺序输出。

输入格式

从文件 baton.in 中读入数据。

  • 第一行三个整数 n,C,Tn, C, T,表示运动员人数、跑道周长与训练结束时刻;
  • 接下来 nn 行,每行两个整数 xi,six_i, s_i,依次表示第 ii 名运动员的初始位置与跑动方向。

输出格式

输出到文件 baton.out 中。

输出 nn 行,第 ii 行一个整数,表示结束时刻运动员 ii 手中持有的号码布编号。

样例

3 10 3
0 1
4 -1
7 1
2
1
3

样例 1 解释

按时间线推演:第 22 秒,运动员 11 与运动员 22 在位置 22 相遇,交换号码布——运动员 11 改持号码布 22,运动员 22 改持号码布 11;此后到第 33 秒训练结束,没有再发生相遇。运动员 33 全程未与人相遇,仍持号码布 33。

2 6 7
0 1
3 -1
1
2

样例 2 解释

第 1.51.5 秒,两名运动员在位置 1.51.5 相遇并交换号码布;第 4.54.5 秒,两人在位置 4.54.5 再次相遇并交换,号码布各自回到原运动员手中。到第 77 秒训练结束时没有再发生相遇,两名运动员仍各持自己的号码布。

3 10 4
0 1
8 -1
5 1
3
1
2

样例 3 解释

按时间线推演:第 1.51.5 秒,运动员 22 与运动员 33 在位置 6.56.5 相遇并交换号码布,运动员 22 改持号码布 33,运动员 33 改持号码布 22;第 44 秒,运动员 11 与运动员 22 在位置 44 相遇,此时训练恰好结束,两人仍按规则交换号码布——运动员 11 改持号码布 33,运动员 22 改持号码布 11。

数据范围

对于所有测试数据,保证:

  • 2≤n≤1052 \le n \le 10^5,2≤C≤1092 \le C \le 10^9,0≤T≤10180 \le T \le 10^{18};
  • 0≤xi<C0 \le x_i < C,si∈{1,−1}s_i \in \{1, -1\};
  • x1,x2,…,xnx_1, x_2, \dots, x_n 两两不同;
  • 任意时刻至多有两名运动员位于同一位置。

各测试点的约束如下:

测试点 nn CC TT 特殊性质
1∼41\sim4 ≤8\le 8 ≤12\le 12 ≤8\le 8 无
5∼105\sim10 ≤2000\le 2000 ≤106\le 10^6
11∼1411\sim14 ≤105\le 10^5 ≤109\le 10^9 ≤1018\le 10^{18} A
15∼2015\sim20 无
  • 特殊性质 A:CC 为偶数,且所有 xix_i 均为偶数。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3786
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者