3896: 黄老师的数组松弛度
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
最近黄老师在给一道超级无敌大难题出数据,对于每组数据需要随机生成一个数组
黄老师认为一个数组的松弛度即为数组中最大数字和最小数字之间的距离,例如数组中的最大值是 $a_x$,最小值是 $a_y$,那么这个数组的松弛度即为 $|x-y|$
而这组数据中的这个数组松弛度越大,那么这个数据就越强,但是随机生成的数据总是不那么强
为了数据尽可能强力,黄老师想删掉一些数字使得这组数据的松弛度变大,但是又不能为了增大松弛度而删除很多数字,因为数组减少了一样会降低数据的强度
于是黄老师定了一个规则,最多删除 $2$ 个数字!(可以不删)
现在黄老师已经随机生成了一个包含 $n$ 个数字的数组,并且其中 $1 \sim n$ 每个数字出现有且仅有一次
黄老师希望你告诉他,在最多删除 $2$ 个数字的情况下,这个数据最大的松弛度是多少?
并且请你告诉黄老师,应该删除哪些数字。
黄老师认为一个数组的松弛度即为数组中最大数字和最小数字之间的距离,例如数组中的最大值是 $a_x$,最小值是 $a_y$,那么这个数组的松弛度即为 $|x-y|$
而这组数据中的这个数组松弛度越大,那么这个数据就越强,但是随机生成的数据总是不那么强
为了数据尽可能强力,黄老师想删掉一些数字使得这组数据的松弛度变大,但是又不能为了增大松弛度而删除很多数字,因为数组减少了一样会降低数据的强度
于是黄老师定了一个规则,最多删除 $2$ 个数字!(可以不删)
现在黄老师已经随机生成了一个包含 $n$ 个数字的数组,并且其中 $1 \sim n$ 每个数字出现有且仅有一次
黄老师希望你告诉他,在最多删除 $2$ 个数字的情况下,这个数据最大的松弛度是多少?
并且请你告诉黄老师,应该删除哪些数字。
输入
输入第一行包含一个正整数 $n$,表示数组长度。
输入第二行包含 $n$ 个正整数,依次表示数组中的 $n$ 个数字
输入第二行包含 $n$ 个正整数,依次表示数组中的 $n$ 个数字
对于 $40\%$ 的数据,满足 $3 \leq n \leq 10$
对于 $60\%$ 的数据,满足 $3 \leq n \leq 1000$
对于 $100\%$ 的数据,满足 $3 \leq n \leq 100000$
其中对于前 $60\%$ 的数据满足:存在 $10\%$ 的数据不需要删除数字
对于 $60\%$ 的数据,满足 $3 \leq n \leq 1000$
对于 $100\%$ 的数据,满足 $3 \leq n \leq 100000$
其中对于前 $60\%$ 的数据满足:存在 $10\%$ 的数据不需要删除数字
输出
输出第一行包含一个数字,表示题目所求的最大松弛度
输出第二行从小到大输出应该删除的数字,如果没有则不需要输出,如果有两个数字,中间用空格隔开
如果有多种方案可以达到最大松弛度,请输出删除数字最少的方案
输出第二行从小到大输出应该删除的数字,如果没有则不需要输出,如果有两个数字,中间用空格隔开
如果有多种方案可以达到最大松弛度,请输出删除数字最少的方案
样例输入 复制
5
4 2 5 1 3
样例输出 复制
2
5
提示
样例解释1
删除数字 $5$,数组变成 $[4,2,1,3]$,得到最大松弛度 $2$
样例解释2
什么都不删是最好的,最大松弛度为 $4$
删除数字 $5$,数组变成 $[4,2,1,3]$,得到最大松弛度 $2$
什么都不删是最好的,最大松弛度为 $4$