题目描述
题目译自 CEOI 2024 Day2 T3「Sprinklers」
瓦茨拉夫有一个美丽的花园,花园里种了一排 M 朵花。在这一排上,瓦茨拉夫还放置了 N 个洒水器来浇花。
洒水器的位置由数字 s1,s2,…,sN 给出。花的位置由数字 f1,f2,…,fM 给出。两者都是非递减顺序,即:
- s1≤s2≤…≤sN
- f1≤f2≤…≤fM
瓦茨拉夫很快就要去参加 CEOI 了。他想确保在他离开期间所有的花都能得到适当的浇水。为此,他可以单独将每个洒水器向左或向右旋转,并设置它们的喷水强度——所有洒水器共享同一个水管,因此喷射距离相同。
如果喷水强度为 K,并且第 i 个洒水器向左旋转,它将浇灌位置在 si−K 到 si 之间的所有花。类似地,如果第 j 个洒水器向右旋转,它将浇灌位置在 sj 到 sj+K 之间的所有花。单个洒水器可以浇灌多朵花,一朵花也可以被多个洒水器浇灌。
你的任务是决定是否可以浇灌所有的花。如果是,你应该找到最小的足够喷水强度,以及相应的洒水器配置。如果存在多个具有最小喷水强度的有效配置,输出其中任何一个。
输入格式
输入的第一行包含两个用空格隔开的整数 N 和 M。第二行包含 N 个空格分隔的整数 s1,s2,…,sN,表示洒水器的位置。第三行包含 M 个空格分隔的整数 f1,f2,…,fM,表示花的位置。
输出格式
如果无法浇灌所有的花,则输出数字 −1。
如果可以,输出应该包含两行。第一行输出数字 K,表示浇灌所有花所需的最小的喷水强度。在第二行,输出长度为 N 的字符串 c,其中 ci 为 L
,如果第 i 个洒水器应该向左旋转,否则为 R
。
提示
样例解释 1
每朵花至少被一个洒水器浇水。喷水强度低于 6 是不可能的,因为位置 16 的花离最近的洒水器有 6 个单位距离。
样例解释 2
无论洒水器的方向如何,一次最多只能浇灌一朵花。
对于所有输入数据,满足:
- 1≤N,M≤105
- 0≤si≤109 (1≤i≤N)
- 0≤fi≤109 (1≤i≤M)
- si≤sj (i≤j)
- fi≤fj (i≤j)
详细子任务附加限制及分值如下表所示。
子任务 |
附加限制 |
分值 |
1 |
N=1 |
3 |
2 |
N=3x,x 是一个整数,s3i+1=s3i+2=s3i+3 (0≤i≤x−1)(即洒水器总是成组放置三个) |
6 |
3 |
N≤10,M≤1000 |
17 |
4 |
K≤8(即在所有测试数据中,存在一种洒水器配置,使得喷水强度最多为 8 就足以浇灌所有的花) |
27 |
5 |
无附加限制 |
47 |