#2084. 徐老师的数组松弛度

徐老师的数组松弛度

题目描述

最近徐老师在给一道超级无敌大难题出数据,对于每组数据需要随机生成一个数组

徐老师认为一个数组的松弛度即为数组中最大数字和最小数字之间的距离,例如数组中的最大值是 axa_x,最小值是 aya_y,那么这个数组的松弛度即为 xy|x-y|

而这组数据中的这个数组松弛度越大,那么这个数据就越强,但是随机生成的数据总是不那么强

为了数据尽可能强力,徐老师想删掉一些数字使得这组数据的松弛度变大,但是又不能为了增大松弛度而删除很多数字,因为数组减少了一样会降低数据的强度

于是徐老师定了一个规则,最多删除 22 个数字!(可以不删)

现在徐老师已经随机生成了一个包含 nn 个数字的数组,并且其中 1n1 \sim n 每个数字出现有且仅有一次

徐老师希望你告诉他,在最多删除 22 个数字的情况下,这个数据最大的松弛度是多少?

并且请你告诉徐老师,应该删除哪些数字。

输入格式

输入第一行包含一个正整数 nn,表示数组长度。

输入第二行包含 nn 个正整数,依次表示数组中的 nn 个数字

输出格式

输出第一行包含一个数字,表示题目所求的最大松弛度

输出第二行从小到大输出应该删除的数字,如果没有则不需要输出,如果有两个数字,中间用空格隔开

如果有多种方案可以达到最大松弛度,请输出删除数字最少的方案

数据范围

对于 40%40\% 的数据,满足 3n103 \leq n \leq 10

对于 60%60\% 的数据,满足 3n10003 \leq n \leq 1000

对于 100%100\% 的数据,满足 3n1000003 \leq n \leq 100000

其中对于前 60%60\% 的数据满足:存在 10%10\% 的数据不需要删除数字

输入样例1

5
4 2 5 1 3

输出样例1

2
5

样例解释1

删除数字 55,数组变成 [4,2,1,3][4,2,1,3],得到最大松弛度 22

输入样例2

5
1 2 3 4 5

输出样例2

4

样例解释2

什么都不删是最好的,最大松弛度为 44