#JLT06C. 2026年J组模拟赛10连测第6场-T3 程老师的摊位

2026年J组模拟赛10连测第6场-T3 程老师的摊位

项目 说明
文件名 stall
输入文件 stall.in
输出文件 stall.out
时间限制 1000 ms
内存限制 512 MB

题目描述

程老师打算在城里的商业街上摆摊。这条街是笔直的,从街头到街尾,沿路一侧早就划好了一长排摊位,都是给像程老师这样的摊主准备的。街上一共划了 n 个候选摊位,每个候选摊位都有一个固定的位置,位置划好了就不能随便挪动。程老师亲自把这条街从头到尾走了一遍,把每个候选摊位的位置都记在了心里:第 i 个候选摊位离街头那一端的距离是 x_i。这些位置两两不同,有的挨着街口,有的快到了街尾,有的就夹在中间,错落着排开。

摊位是紧俏的,程老师看中的一些位置,早就被别人订走了。被订走的摊位一共有 m 个,这些摊位的位置也都定了下来,并且一定都在这 n 个候选摊位里面。订走了的摊位,到时候是必须摆出来的,这一点程老师说了不算;他能拿主意的,只有那些还没被订走的候选摊位。

程老师打算一共摆 k 个摊位。摆摊有摆摊的讲究:两个摊位要是隔得太近,客人全挤在一处,谁家的买卖都做不好;要是隔得太远,一长条街显得冷清,客人都懒得走。程老师想让自己摆下的这些摊位彼此都隔得远一些。说得更准确些,他摆下的 k 个摊位,任意两个摊位之间都有一个距离,这些距离里头,总有一个是最小的;程老师就是想让这个最小的距离尽可能大。也就是说,在 m 个已经订好、非摆不可的摊位之外,程老师还要从剩下的候选摊位里挑出一些来,让摊位总数正好凑成 k 个,并且让这 k 个摊位当中"隔得最近的那两个摊位"之间的距离,尽可能地远。

这样订好的摊位摆在哪里,是已经定死的,不能改;而剩下的候选摊位,摆不摆、摆哪些,都由程老师自己说了算。他只想在满足这些前提的情况下,把自己的 k 个摊位安排得尽量散开,让最近的邻居都隔得远远的。

现在,请你帮程老师算一算:在必须摆上 m 个已订摊位、一共要摆 k 个摊位的前提下,最近的两个摊位之间的距离,最大能是多少?

输入格式

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

第一行三个整数 n,m,kn, m, k。

第二行 nn 个整数,表示 nn 个候选摊位的位置,两两不同,输入时给出的顺序没有规律。

第三行 mm 个整数,表示被订走的 mm 个摊位的位置,保证它们都在这 nn 个候选摊位里。当 m=0m = 0 时,这一行仍然保留(可能是一个空行)。

输出格式

输出到文件 stall.out 中。

一行一个整数,表示最近的两个摊位之间的距离的最大可能值。

数据范围

测试点 n≤n \le 特殊性质
1 10 无
2~4 22
5~8 100
9~10 500
11~12 10510^5 A
13~14 B
15~20 无

特殊性质 A:m=0m = 0。

特殊性质 B:k=2k = 2。

对于所有测试点:1≤n≤1051 \le n \le 10^5,0≤m≤k≤n0 \le m \le k \le n,0≤xi≤1090 \le x_i \le 10^9。

样例

4 1 3
1 3 6 10
6
4
3 0 2
2 5 9

7
3 2 2
1 2 4
1 4
3

样例解释

样例 1:候选摊位在 1、3、6、10 四个位置,6 号位置已经被订走,必须摆上,一共要摆 3 个摊位。取距离 4 时,可以摆 1 号位、6 号位、10 号位,最近的两摊距离正好是 4;取距离 5 时,6 号位和 10 号位只隔了 4,凑不出 3 个彼此相隔至少 5 的摊位,所以答案是 4。

难度 未评定
通过率 —
尝试 0
通过 0
ID
3751
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关