CF1772D Absolute Sorting
题目描述
给定一个包含 $n$ 个整数的数组 $a$。如果 $a_1 \le a_2 \le \dots \le a_n$,则称数组 $a$ 是有序的。
你可以进行如下操作恰好一次,使数组 $a$ 变为有序:
- 选择一个整数 $x$,然后对每个 $i \in [1, n]$,将 $a_i$ 替换为 $|a_i - x|$。
请你找出任意一个能使数组有序的 $x$ 的值,或者报告不存在这样的 $x$。
输入格式
第一行包含一个整数 $t$($1 \le t \le 2 \cdot 10^4$),表示测试用例的数量。
每个测试用例包含两行。第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$)。第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^8$)。
输入的额外约束:所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数 $x$($0 \le x \le 10^9$),使得经过操作后数组有序。如果不存在这样的 $x$,输出 $-1$。如果有多个满足条件的 $x$,输出其中任意一个即可。
说明/提示
在第一个测试用例中,选择 $x = 4$ 后,数组变为 $[1, 1, 1, 1, 1]$。
在第三个测试用例中,选择 $x = 0$ 后,数组变为 $[1, 2, 3, 4, 5, 6, 7, 8]$。
在第四个测试用例中,选择 $x = 42$ 后,数组变为 $[32, 37, 38, 39, 40, 41]$。
由 ChatGPT 4.1 翻译