#P10806. [CEOI2024] 洒水器

[CEOI2024] 洒水器

题目描述

题目译自 CEOI 2024 Day2 T3「Sprinklers

瓦茨拉夫有一个美丽的花园,花园里种了一排 MM 朵花。在这一排上,瓦茨拉夫还放置了 NN 个洒水器来浇花。

洒水器的位置由数字 s1,s2,,sNs_1, s_2, \ldots , s_N 给出。花的位置由数字 f1,f2,,fMf_1, f_2, \ldots , f_M 给出。两者都是非递减顺序,即:

  • s1s2sNs_1 \leq s_2 \leq \ldots \leq s_N
  • f1f2fMf_1 \leq f_2 \leq \ldots \leq f_M

瓦茨拉夫很快就要去参加 CEOI 了。他想确保在他离开期间所有的花都能得到适当的浇水。为此,他可以单独将每个洒水器向左或向右旋转,并设置它们的喷水强度——所有洒水器共享同一个水管,因此喷射距离相同。

如果喷水强度为 KK,并且第 ii 个洒水器向左旋转,它将浇灌位置在 siKs_i - Ksis_i 之间的所有花。类似地,如果第 jj 个洒水器向右旋转,它将浇灌位置在 sjs_jsj+Ks_j+K 之间的所有花。单个洒水器可以浇灌多朵花,一朵花也可以被多个洒水器浇灌。

你的任务是决定是否可以浇灌所有的花。如果是,你应该找到最小的足够喷水强度,以及相应的洒水器配置。如果存在多个具有最小喷水强度的有效配置,输出其中任何一个。

输入格式

输入的第一行包含两个用空格隔开的整数 NNMM。第二行包含 NN 个空格分隔的整数 s1,s2,,sNs_1, s_2, \ldots , s_N,表示洒水器的位置。第三行包含 MM 个空格分隔的整数 f1,f2,,fMf_1, f_2, \ldots , f_M,表示花的位置。

输出格式

如果无法浇灌所有的花,则输出数字 1-1

如果可以,输出应该包含两行。第一行输出数字 KK,表示浇灌所有花所需的最小的喷水强度。在第二行,输出长度为 NN 的字符串 cc,其中 cic_iL,如果第 ii 个洒水器应该向左旋转,否则为 R

3 3
10 10 10
5 11 16
6
LLR
1 2
1000
1 2000
-1

提示

样例解释 1

每朵花至少被一个洒水器浇水。喷水强度低于 66 是不可能的,因为位置 1616 的花离最近的洒水器有 66 个单位距离。

样例解释 2

无论洒水器的方向如何,一次最多只能浇灌一朵花。

对于所有输入数据,满足:

  • 1N,M1051 \leq N,M \leq 10^5
  • 0si109 (1iN)0 \leq s_{i} \leq 10^9\ (1 \leq i \leq N)
  • 0fi109 (1iM)0 \leq f_{i} \leq 10^9\ (1 \leq i \leq M)
  • sisj (ij)s_{i} \leq s_{j}\ (i \leq j)
  • fifj (ij)f_{i} \leq f_{j}\ (i \leq j)

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 N=1N = 1 33
22 N=3xN = 3xxx 是一个整数,s3i+1=s3i+2=s3i+3 (0ix1)s_{3i+1}=s_{3i+2}=s_{3i+3}\ (0 \leq i \leq x-1)(即洒水器总是成组放置三个) 66
33 N10,M1000N \leq 10, M \leq 1\,000 1717
44 K8K\leq 8(即在所有测试数据中,存在一种洒水器配置,使得喷水强度最多为 88 就足以浇灌所有的花) 2727
55 无附加限制 4747