CF1975C Chamo and Mocha's Array
题目描述
Mocha 喜欢数组,所以在她离开之前,Chamo 送给了她一个由 $n$ 个正整数组成的数组 $a$ 作为礼物。
Mocha 不喜欢包含不同数字的数组,因此她决定用魔法改变这个数组。Mocha 可以进行如下的三步操作若干次(可以为零次):
1. 选择下标 $l$ 和 $r$($1 \leq l < r \leq n$);
2. 令 $x$ 为子数组 $[a_l, a_{l+1},\ldots, a_r]$ 的中位数 $^\dagger$;
3. 将 $a_l, a_{l+1},\ldots, a_r$ 的所有值都设为 $x$。
假设初始时 $a=[1,2,3,4,5]$:
- 如果 Mocha 第一次操作选择 $(l,r)=(3,4)$,那么 $x=3$,数组会变为 $a=[1,2,3,3,5]$。
- 如果 Mocha 第一次操作选择 $(l,r)=(1,3)$,那么 $x=2$,数组会变为 $a=[2,2,2,4,5]$。
Mocha 会一直进行操作,直到数组中所有元素都相同。Mocha 想知道,这个最终相同的数字的最大可能值是多少。
$^\dagger$ 在长度为 $m$ 的数组 $b$ 中,中位数是将元素按非降序排序后处于第 $\lfloor \frac{m+1}{2} \rfloor$ 个位置的元素。例如,$[3,1,4,1,5]$ 的中位数是 $3$,$[5,25,20,24]$ 的中位数是 $20$。
输入格式
每个测试点包含多组测试数据。第一行包含测试用例数 $t$($1 \leq t \leq 500$)。接下来是每组测试数据的描述。
每组测试数据的第一行包含一个整数 $n$($2 \leq n \leq 10^5$),表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($1 \leq a_i \leq 10^9$),表示数组 $a$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每组测试数据,输出最终数组中所有元素相同的最大可能值。
说明/提示
在第一个测试用例中,$a=[1,2]$。Mocha 只能选择区间 $(l,r)=(1,2)$。数组会变为 $a=[1,1]$。因此答案是 $1$。
在第二个测试用例中,Mocha 可以进行如下操作:
- 选择区间 $(l,r)=(4,5)$,此时 $a=[1,2,3,4,4]$。
- 选择区间 $(l,r)=(3,5)$,此时 $a=[1,2,4,4,4]$。
- 选择区间 $(l,r)=(1,5)$,此时 $a=[4,4,4,4,4]$。
此时数组中所有元素都相同,且为 $4$。可以证明最终相同的数字最大不会超过 $4$。
由 ChatGPT 4.1 翻译