#P10445. 「MYOI-R3」签到

    ID: 9753 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>贪心二分洛谷原创Special JudgeO2优化洛谷月赛双指针,two-pointer

「MYOI-R3」签到

题目背景

Updated on 2024/5/12:新增两组 hack 数据,位于 Subtask #5 的 #31 和 #32。

Updated on 2024/5/13:由于争议过大,目前难度已降绿。暂时不考虑再次变动本题难度。

题目描述

这一场比赛为了选手顺利完成签到题,设置有 nn 个签到处,你和它们都在一条笔直的公路上,我们不妨把这条笔直的公路看作成一条数轴,你现在在数轴原点的位置上(即坐标为 00),第 ii 个签到处在坐标为 xix_i 的地方,你在每个时间单位内最多可以移动 11 个单位长度。

你需要去尽量多的签到处签到,然后在 mm 个时间单位内回到数轴原点。签到的时间可以忽略不计,而且你可能在同一地点瞬间完成位于同一位置的多个不同签到处的签到。

出题人为了让各位选手们更方便、更顺利地签到,还在场上第 pp 个签到处放置了签到礼物。如果选手在这里签过到,那么回到原点的时间限制可以被推迟到 m+5m+5 个单位时间。注:你可以在第 mm 个时刻后才获得礼物,但你必须在 m+5m+5 个单位时间前回到原点。

求选手最多可以在多少个不同的签到处签到,并在此前提下最小化签过到的签到处的编号的集合的字典序(如果有多解,输出任意一个方案即可)。

注:集合的字典序等价于把集合内的元素从小到大排序之后的序列的字典序。

输入格式

第一行,三个整数 n,m,pn,m,p

第二行,一共 nn 个整数,第 ii 个整数表示 xix_i

输出格式

第一行,一个整数 ansans,表示你最多能去签到的签到处的数量。

第二行,输出 ansans 个正整数,表示依次要去签到的签到处的编号。

本题采用 Special Judge,如果有多解,输出任意一个即可。

3 11 3
1 -3 4 
3
1 2 3
5 15 3
-5 -10 0 5 10 
3
2 1 3 

提示

样例 1\small\text{1} 解释

很显然,可以去所有的签到处签到,输出一个耗时不超过 1616 的行动方案即可。

样例 2\small\text{2} 解释

要去 33 个签到处签到一共有 33 种不同的选择方案:11 22 3311 33 4433 44 55,显然,第一种选择最优,选择以下四种行动方案 11 22 3322 11 3333 11 2233 22 11 皆可。

数据规模与约定

本题采用捆绑测试

本题采用「Special Judge」。

Subtask\textbf{Subtask} Special conditions\textbf{Special conditions} Points\textbf{Points}
00 是样例 00
11 n15n\leq 15 1010
22 n300n\leq 300 1515
33 n7×103n\leq 7\times 10^3 2020
44 n105n\leq 10^5 2525
55 3030

请注意大量数据的输入输出对程序效率的影响。

保证本题的时间限制足够长。

对于 100%100\% 的数据,1pn1061\leq p\leq n\leq 10^60m10180\leq m\leq 10^{18}1018xi1018-10^{18}\leq x_i\leq 10^{18}