CF676A Nicholas and Permutation

题目描述

Nicholas 有一个长度为 $n$ 的数组 $a$,其中包含了 $1$ 到 $n$ 的 $n$ 个不同的整数。换句话说,$a$ 是一个长度为 $n$ 的排列。 Nicholas 希望将最小元素(整数 $1$)和最大元素(整数 $n$)之间的距离尽可能地拉远。他想通过恰好一次交换操作,最大化最小元素和最大元素之间的距离。两个元素之间的距离定义为它们位置的绝对差值。

输入格式

输入第一行包含一个整数 $n$($2 \leq n \leq 100$),表示排列的长度。 输入第二行包含 $n$ 个互不相同的整数 $a_1, a_2, ..., a_n$($1 \leq a_i \leq n$),其中 $a_i$ 表示第 $i$ 个位置上的元素。

输出格式

输出一个整数,表示通过一次交换后,最小元素和最大元素之间可能达到的最大距离。

说明/提示

在第一组样例中,可以通过交换元素 $1$ 和 $2$ 来获得最优结果。 在第二组样例中,如果交换 $7$ 和 $2$,最小元素和最大元素就会被放到数组的两端。 在第三组样例中,最小元素和最大元素已经位于最远的位置,所以无论怎么交换都无法增加它们之间的距离,比如可以任意地交换 $5$ 和 $2$。 由 ChatGPT 5 翻译