#10267. 儿童节

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: wjyyy

题目描述

小圆在过六一儿童节。

小圆现在有 n 个积木,每个积木有一个高度,第 i 个积木的高度为 a_i

小圆想把积木排成一排。小圆觉得一排积木的美观度是相邻两个积木之间高度差的绝对值。美观度即 \sum_{i=1}^n|a_{i+1}-a_i|

小圆让你帮他重新把这些积木排成一列,希望能使它们产生的美观度最大。

输入格式

输入共两行。

第一行一个正整数 n ,表示积木的数量。

第二行 n 个正整数,第 i 个正整数为 a_i ,表示第 i 个积木的高度。

输出格式

输出共两行。

第一行,一个整数,表示最大的美观度。

第二行, n 个正整数,表示重新排列后的积木高度。如果有多种排列方法,则任意输出一种。

样例

4
2 2 3 3

3
2 3 2 3

5
1 7 6 4 5

14
7 1 6 4 5

数据范围与提示

对于 20\% 的数据, n\le 10

对于 50\% 的数据, n\le 1000

对于另外 10\% 的数据, a_i 的取值只有两个不同的值;

对于另外 10\% 的数据, a_i 的取值两两不同;

对于 100\% 的数据, n\le 100000 a_i\le 10^9

如果美观度正确,你将得到这个测试点 60\% 的分数,如果积木的排列正确,你将得到该测试点剩下 40\% 的分数。