#CF2185E. 机器人急行

    ID: 7014 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>二分贪心模拟双指针CodeforcesCodeforces Round 1074(Div4)Div4ECF2185E1500

机器人急行

题目描述

有一条无限长的数轴。数轴上有 nn 个机器人和 mm 个尖刺,每个对象都位于数轴上的某个点。第 ii 个机器人位于 aia_i,第 ii 个尖刺位于 bib_i。如果机器人碰到尖刺,它就会死亡。

现在向所有机器人发送 kk 条指令,每条指令要么让机器人向左移动 11 个单位,要么向右移动 11 个单位。

对于每个 1ik1 \le i \le k,请输出前 ii 条指令执行完后仍然存活的机器人数量。

输入格式

第一行一个整数 tt,表示测试组数。

每组测试数据第一行包含三个整数 n,m,kn,m,k,分别表示机器人数量、尖刺数量和指令数量。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示机器人的位置。保证所有 aia_i 两两不同。

第三行包含 mm 个整数 b1,b2,,bmb_1,b_2,\ldots,b_m,表示尖刺的位置。保证所有 bib_i 两两不同。

第四行包含一个长度为 kk 的字符串,字符为 LR,分别表示向左或向右移动一个单位。

保证所有测试数据的 nnmmkk 之和分别都不超过 21052\cdot 10^5。额外保证不存在机器人和尖刺初始位于同一点。

输出格式

对于每组测试数据,输出 kk 个整数,第 ii 个整数表示前 ii 条指令执行完后仍然存活的机器人数量。

样例

3
2 1 3
0 1
2
LRR
2 3 3
2 4
1 3 5
LRL
3 2 3
1 3 7
9 6
RRL
2 2 1
0 0 0
3 2 2

样例说明

第一组测试数据中,第一个机器人移动轨迹为 01010\to -1\to 0\to 1,不会死亡;第二个机器人移动轨迹为 10121\to 0\to 1\to 2,在第三条指令后碰到位置 22 的尖刺而死亡。

第二组测试数据中,两个机器人第一次移动后都会死亡。

数据范围

  • 1t1041 \le t \le 10^4
  • 1n,m,k21051 \le n,m,k \le 2\cdot 10^5
  • 0ai,bi1090 \le a_i,b_i \le 10^9
  • 所有 aia_i 两两不同,所有 bib_i 两两不同
  • 初始时不存在机器人和尖刺位于同一点
  • 所有测试数据的 nnmmkk 之和分别都不超过 21052\cdot 10^5

来源

Codeforces Round 1074 (Div. 4), Problem E - The Robotic Rush