QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 1024 MB Total points: 100

#9166. 喷水装置

Statistics

Václav 有一个美丽的花园,里面有 $M$ 朵花种在一条直线上。在这条直线上,Václav 还放置了 $N$ 个喷水器来浇灌他的花。

喷水器的位置由数字 $s_1, \dots, s_N$ 给出。花的位置由数字 $f_1, \dots, f_M$ 给出。两者均按非递减顺序提供,即: $s_1 \le s_2 \le \dots \le s_N$ $f_1 \le f_2 \le \dots \le f_M$

Václav 即将前往参加 CEOI。他想确保在他离开期间所有的花都能得到适当的浇灌。为此,他将每个喷水器单独转向左侧或右侧,并设置它们的喷水功率——所有喷水器共用同一根水管,因此喷水距离相同。

如果喷水功率为 $K$,且第 $i$ 个喷水器转向左侧,它将浇灌所有位置在 $s_i - K$ 和 $s_i$ 之间的花(包含边界)。同样,如果第 $j$ 个喷水器转向右侧,它将浇灌所有位置在 $s_j$ 和 $s_j + K$ 之间的花(包含边界)。单个喷水器可以浇灌多朵花,单朵花也可以被多个喷水器浇灌。

你的任务是判断是否有可能浇灌所有的花。如果可以,你应该找到最小的充足喷水功率,以及相应的喷水器配置。如果存在多种具有最小喷水功率的有效配置,输出其中任意一种即可。

输入格式

第一行包含两个整数 $N$ 和 $M$,用空格分隔。第二行包含 $N$ 个用空格分隔的整数 $s_1, \dots, s_N$,表示喷水器的位置。第三行包含 $M$ 个用空格分隔的整数 $f_1, \dots, f_M$,表示花的位置。

输出格式

如果无法浇灌所有的花,打印数字 $-1$。

如果可以,输出应包含两行。第一行输出数字 $K$,即浇灌所有花所需的最小喷水功率。第二行打印一个长度为 $N$ 的字符串 $c$,如果第 $i$ 个喷水器应转向左侧,则 $c_i$ 为 L,否则为 R

样例

样例输入 1

3 3
10 10 10
5 11 16

样例输出 1

6
LLR

说明 1

给出的解是有效的——每朵花至少被一个喷水器浇灌。小于 6 的喷水功率是不可能的,因为位置在 16 的花距离最近的喷水器有 6 个单位远。

样例输入 2

1 2
1000
1 2000

样例输出 2

-1

说明 2

无论唯一的一个喷水器朝向如何,一次最多只能浇灌一朵花。

数据范围

  • $1 \le N, M \le 10^5$
  • $0 \le s_i \le 10^9$(对于每个 $1 \le i \le N$)
  • $0 \le f_i \le 10^9$(对于每个 $1 \le i \le M$)
  • $s_i \le s_j$(对于所有 $i \le j$)
  • $f_i \le f_j$(对于所有 $i \le j$)

子任务

  1. (3 分) $N = 1$
  2. (6 分) $N = 3x$(对于某个整数 $x$),且对于每个 $0 \le i \le x - 1$,满足 $s_{3i+1} = s_{3i+2} = s_{3i+3}$(即喷水器总是以三个为一组放置)
  3. (17 分) $N \le 10, M \le 1000$
  4. (27 分) $K \le 8$(即在所有测试用例中,都存在一种喷水器配置,使得不超过 8 的喷水功率足以浇灌所有的花)
  5. (47 分) 无附加限制

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.