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 翻译