不可视境界线[环版本]

题目背景

- 原题 : [P5617 [MtOI2019]不可视境界线](https://www.luogu.com.cn/problem/P5617) **附** : [关于本题的`SPJ`和数据的一些信息](https://www.luogu.com.cn/paste/tmwvh5vh) 若出现卡精度或数据出锅,吊打标算等情况,请联系出题人。

题目描述

有 $n$ 个半径为 $r$ 的圆,画在一个长度为 $L$ 的首尾相接的纸环上。 所有的圆心都在同一高度,可以看做在纸上画一个数轴然后卷起来,圆心的位置用这个数轴上的点描述。 如果无法理解纸环上圆的分布,可以查看样例解释以及子问题。 要求选出 $k$ 个圆,使得所有圆的并面积最大。 注意,您需要回答确切的选取方案而不是仅仅给出最大并面积。

输入输出格式

输入格式


第一行包含四个整数 $n,k,r,L$ ,意义如题目所述。 第二行包含 $n$ 个整数,第 $i$ 个整数 $p[i]$ 描述了第 $i$ 个圆心在纸环上的位置(数轴上的坐标)。 对于 $2<i<n$ ,有 $p[i-1]<p[i]$。

输出格式


一行包含 $k$ 个整数,分别表示您选取的圆的编号,由`SPJ`来计算并面积。 您需要保证这些编号严格递增,并且在 $[1,n]$ 以内,否则被认为不合法而不得分。 与标准答案**相对误差**不超过 $10^{-9}$ ,**且绝对误差**不超过 $0.1$ 则认为正确。 通过估算,答案不会超过 $10^{12}$ 量级。

输入输出样例

输入样例 #1

5 3 10 30
0 7 14 21 28 

输出样例 #1

2 3 5 

输入样例 #2

10 3 10 65
0 7 15 24 30 36 41 49 57 63 

输出样例 #2

3 6 9

输入样例 #3

30 10 50 169
0 7 14 21 28 35 42 45 51 55 61 65 68 75 79 83 87 94 97 105 113 118 126 133 140 147 151 156 163 167 

输出样例 #3

3 5 8 11 15 19 21 24 27 30 

说明

**样例解释** : - **样例1** : 最终的并面积约为 $565.871835$。 圆的分布如图所示,其中, $⊙A$ 和 $⊙A2$ 是同一个圆, $⊙B$ 和 $⊙B2$ 是同一个圆。 可以视作向右平移 $L=30$ 个单位长度而得,事实上就相当于在纸环上绕了一圈回到起点。 由于是同一个圆,被红色部分覆盖的面积不能重复计算,最大的并面积即为蓝色部分的面积。 ![](https://cdn.luogu.com.cn/upload/image_hosting/g2dk0sqv.png) - **样例2** : 最终的并面积约为 $942.477796$。 - **样例3** : 最终的并面积约为 $16817.058547$。 **数据范围与约定** : | 子任务编号 | n | k | 时限 | | :--: | :--: | :--: | :--: | | 1 | $10$ | - | $\texttt{1s}$ | | 2 | $100$ | - | $\texttt{1s}$ | | 3 | $2000$ | - | $\texttt{1.6s}$ | | 4 | $3\times 10^4$ | $100$ | $\texttt{2.2s}$ | | 5 | $1\times 10^5$ | - | $\texttt{3s}$ | 时限在 `std` 耗时的两倍以上。 对于所有的数据, $n\leq 10^5$,$10\leq r\leq 2000$,$0\leq p[i]< L\leq 10^8$,$4r<L$,$3\leq k \leq n$。 表格中均为上界。注意,一些下界限制可能帮助省去了问题的某些边界情况。