CF1975C.Chamo and Mocha's Array
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Mocha 喜欢数组,所以在她离开之前,Chamo 送给了她一个由 n 个正整数组成的数组 a 作为礼物。
Mocha 不喜欢包含不同数字的数组,因此她决定用魔法改变这个数组。Mocha 可以进行如下的三步操作若干次(可以为零次):
- 选择下标 l 和 r(1≤l<r≤n);
- 令 x 为子数组 [al,al+1,…,ar] 的中位数 †;
- 将 al,al+1,…,ar 的所有值都设为 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 想知道,这个最终相同的数字的最大可能值是多少。
† 在长度为 m 的数组 b 中,中位数是将元素按非降序排序后处于第 ⌊2m+1⌋ 个位置的元素。例如,[3,1,4,1,5] 的中位数是 3,[5,25,20,24] 的中位数是 20。
输入格式
每个测试点包含多组测试数据。第一行包含测试用例数 t(1≤t≤500)。接下来是每组测试数据的描述。
每组测试数据的第一行包含一个整数 n(2≤n≤105),表示数组 a 的长度。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109),表示数组 a 的元素。
保证所有测试用例中 n 的总和不超过 105。
输出格式
对于每组测试数据,输出最终数组中所有元素相同的最大可能值。
输入输出样例
输入#1
2 2 1 2 5 1 2 3 4 5
输出#1
1 4
说明/提示
在第一个测试用例中,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 翻译
输入解题思路,AI测评打分。不知道怎么写?