该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
样例文件
题目描述
N 个人围坐在一个周长为 L 的圆桌旁开会。圆桌边缘带有整数刻度 0,1,2,……,L−1,第 i 个人位于刻度 Pi 处。(0≤P1<P2<…<PN<L)
现在给出如下定义:
两个人之间的圆桌距离是指,两个人沿着圆桌的圆弧长度(左右两个圆弧)中较小的那个长度。
如下图,A 与 B 的圆桌距离为橙色圆弧的长度。

现在要指定 M (1≤M≤⌊N/2⌋) 对参会人,每对参会人内部进行交流,每位参会人最多只能被指定到一对参会人中。这样每对参会人都有一个圆桌距离。定义“最小交流距离”为 M 个圆桌距离的最小值。
问:如何指定可以使得“最小交流距离”尽可能大。对于每个 M (M=1,2,…,⌊N/2⌋) 的值,你需要输出可能得到的最大的“最小交流距离”。
输入格式
第一行:两个整数 N,L。
第二行:N 个严格升序排列的整数 P1…PN (0≤P1<P2<…<PN<L)。
输出格式
共一行,包含 ⌊N/2⌋ 个整数,依次表示当 M=1,2,…,⌊N/2⌋ 时的答案。数与数之间以单个空格隔开。
输入样例
5 10
0 1 2 4 9
输出样例
5 3
样例解释
M=1,指定参会人 4 和 5 交流,圆桌距离为 5,也是“最小交流距离”,这是可以得到的最大的“最小交流距离”。
M=2,指定参会人 1 和 4 交流,圆桌距离为 4;指定参会人 3 和 5 交流,圆桌距离为 3。因此最小交流距离为 min(4,3)=3。这是可以得到的最大的“最小交流距离”。
数据范围
100% 的数据:2≤N≤1000,N≤L≤109, 0≤P1<P2<…<PN<L。其中
- 10% 的数据:2×PN≤L
- 20% 的数据:N≤20
- 30% 的数据:N≤100