CF347A Difference Row

题目描述

你需要将 $n$ 个整数 $a_{1},a_{2},...,a_{n}$ 以某种顺序排列成一行。我们将一个排列的值定义为所有相邻整数对之差的和。 更正式地,设某个排列为整数序列 $x_{1},x_{2},...,x_{n}$,其中序列 $x$ 是序列 $a$ 的一个排列。则该排列的值为 $(x_{1}-x_{2})+(x_{2}-x_{3})+\cdots+(x_{n-1}-x_{n})$。 请你找出可能的最大排列值,并输出一个字典序最小的排列 $x$,使得该排列的值达到最大。

输入格式

输入的第一行为一个整数 $n$($2 \leq n \leq 100$)。 第二行为 $n$ 个用空格分隔的整数 $a_{1}, a_{2}, ..., a_{n}$($|a_{i}| \leq 1000$)。

输出格式

输出一行所需的序列 $x_{1},x_{2},...,x_{n}$。序列 $x$ 应为能够取得最大排列值的、字典序最小的 $a$ 的一个排列。

说明/提示

在样例测试中,输出排列的值为 $(100-(-50))+((-50)-0)+(0-50)+(50-(-100))=200$。不存在值更大的排列,在所有值为 $200$ 的排列之中,输出的是字典序最小的一个。 序列 $x_{1},x_{2},...,x_{p}$ 的字典序小于序列 $y_{1},y_{2},...,y_{p}$,如果存在某个整数 $r$($0 \leq r < p$),使得 $x_{1}=y_{1},x_{2}=y_{2},...,x_{r}=y_{r}$ 且 $x_{r+1}