「MYOI-R3」签到
题目背景
Updated on 2024/5/12:新增两组 hack 数据,位于 Subtask #5 的 #31 和 #32。
Updated on 2024/5/13:由于争议过大,目前难度已降绿。暂时不考虑再次变动本题难度。
题目描述
这一场比赛为了选手顺利完成签到题,设置有 $n$ 个签到处,你和它们都在一条笔直的公路上,我们不妨把这条笔直的公路看作成一条数轴,你现在在数轴原点的位置上(即坐标为 $0$),第 $i$ 个签到处在坐标为 $x_i$ 的地方,你在每个时间单位内**最多**可以移动 $1$ 个单位长度。
你需要去**尽量多**的签到处签到,然后在 $m$ 个时间单位内回到数轴原点。签到的时间可以**忽略不计**,而且你可能在同一地点瞬间完成**位于同一位置的多个不同签到处**的签到。
出题人为了让各位选手们更方便、更顺利地签到,还在场上第 $p$ 个签到处放置了签到礼物。如果选手在这里**签过到**,那么回到原点的时间限制可以被**推迟到** $m+5$ 个单位时间。注:你可以在第 $m$ 个时刻后才获得礼物,但你必须在 $m+5$ 个单位时间前回到原点。
求选手**最多**可以在多少个不同的签到处签到,并在此前提下**最小化**签过到的签到处的编号的集合的字典序(如果有多解,输出任意一个方案即可)。
注:集合的字典序等价于把集合内的元素从小到大排序之后的序列的字典序。
输入输出格式
输入格式
第一行,三个整数 $n,m,p$。
第二行,一共 $n$ 个整数,第 $i$ 个整数表示 $x_i$。
输出格式
第一行,一个整数 $ans$,表示你最多能去签到的签到处的数量。
第二行,输出 $ans$ 个正整数,表示**依次要去签到**的签到处的编号。
**本题采用 Special Judge,如果有多解,输出任意一个即可。**
输入输出样例
输入样例 #1
3 11 3
1 -3 4
输出样例 #1
3
1 2 3
输入样例 #2
5 15 3
-5 -10 0 5 10
输出样例 #2
3
2 1 3
说明
### 样例 $\small\text{1}$ 解释
很显然,可以去所有的签到处签到,输出一个耗时不超过 $16$ 的行动方案即可。
### 样例 $\small\text{2}$ 解释
要去 $3$ 个签到处签到一共有 $3$ 种不同的选择方案:$1$ $2$ $3$、$1$ $3$ $4$、$3$ $4$ $5$,显然,第一种选择最优,选择以下四种行动方案 $1$ $2$ $3$、$2$ $1$ $3$、$3$ $1$ $2$、$3$ $2$ $1$ 皆可。
### 数据规模与约定
**本题采用捆绑测试**。
**本题采用「Special Judge」。**
|$\textbf{Subtask}$ | $\textbf{Special conditions}$ |$\textbf{Points}$ |
| :----------: | :----------: | :----------: |
| $0$ | 是样例 | $0$ |
| $1$ | $n\leq 15$ | $10$ |
| $2$ | $n\leq 300$ | $15$ |
| $3$ | $n\leq 7\times 10^3$ | $20$ |
| $4$ | $n\leq 10^5$ | $25$ |
| $5$ | 无 | $30$ |
**请注意大量数据的输入输出对程序效率的影响。**
**保证本题的时间限制足够长。**
对于 $100\%$ 的数据,$1\leq p\leq n\leq 10^6$,$0\leq m\leq 10^{18}$,$-10^{18}\leq x_i\leq 10^{18}$。